Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: Общие вопросы > getText + equals


Автор: SP5B 11.12.2014, 05:44
Решил проверить массив JButton на комбинации их текста.
Вопрос : почему если больше 3 if вылетает Exception ?
Код

public void refreshButton(JButton[] button, String textButton)
    {
        if ((button[0].getText().equals(textButton) && 
                (button[1].getText()).equals(textButton))&&
                (button[2].getText()).equals(textButton))
                System.out.println(textButton);
            //0 3 6
        if ((button[0].getText().equals(textButton) && 
                    (button[3].getText()).equals(textButton))&&
                    (button[6].getText()).equals(textButton))
                    System.out.println(textButton);
        //2 5 8
        if ((button[2].getText().equals(textButton) && 
                        (button[5].getText()).equals(textButton))&&
                        (button[8].getText()).equals(textButton))
                        System.out.println(textButton);
        //9 7 6
        if ((button[9].getText().equals(textButton) && 
                (button[6].getText()).equals(textButton))&&
                (button[7].getText()).equals(textButton))
                System.out.println(textButton);
        //0 4 8
            
    if ((button[0].getText().equals(textButton) && 
                (button[4].getText()).equals(textButton))&&
                (button[8].getText()).equals(textButton))
                System.out.println(textButton);
//        6 4 2

    if ((button[6].getText().equals(textButton) && 
                (button[4].getText()).equals(textButton))&&
                (button[2].getText()).equals(textButton))
                System.out.println(textButton);    
        
    }

Автор: _zorn_ 11.12.2014, 06:22
Потому что button[9] скорей всего null

Автор: SP5B 11.12.2014, 09:45
о да ... надо завязывать кодить до 6 утра ...  Спасибо ))) В черновике на схеме то все правильно. чего нажал 9 и как я это мог не увидеть  для меня останется загадкой и уроком ))) 
Код

public void textButtonEquals(JButton[] button,int button1,int button2, 
            int button3,String textButton)
    {
         if ((button[button1].getText().equals(textButton) && 
                    (button[button2].getText()).equals(textButton))&&
                    (button[button3].getText()).equals(textButton))
                    System.out.println(textButton);    
    }
    public void refreshButton(JButton[] button, String textButton)
    {
             textButtonEquals(button,3,4,5,textButton);
             textButtonEquals(button,0,1,2,textButton);
             textButtonEquals(button,0,3,6,textButton);
             textButtonEquals(button,2,5,8,textButton);
             textButtonEquals(button,8,6,7,textButton);
             textButtonEquals(button,0,4,8,textButton);
             textButtonEquals(button,6,4,2,textButton);
           
         
    }

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)