2013-05-29 2 views
-3

Я не могу найти проблему, из-за которой мой цикл while не работает.While loop: Нужна помощь

Когда я запустить программу и нажать на кнопку радио, я получаю этот код ошибки:

Синтаксис ошибки, вставки «в то время как (Expression);» завершить DoStatement

Вот мой цикл:

int i = 1; 
boolean x; 
//for (i = 0; i < 6; i++) { 
do{ 
    warning.setText("   FEL!");   
    i++; 
    while(x == false);{ 

    if(e.getSource() == buttonOK){ 

     if(buttonDollar.isSelected() == false){ 
      x = false; 
     } 
     if(buttonEuro.isSelected() == false){ 
      x = false; 
     } 
     if(buttonPund.isSelected() == false){ 
      x = false; 
     } 
     if(buttonKrona.isSelected() == false){ 
      x = false; 
     } 
     break; 

     } 
    } 
} 
+2

Для выполнения инструкции 'do-while' вам нужно предложение' while'. Если вы хотите использовать цикл навсегда, используйте 'do {...} while (true)'. Или просто 'while (true) {...}'. Постскриптум Что это за язык? – zimdanen

+0

x не инициализируется – rajansoft1

+0

@ rajansoft1: В зависимости от языка, необходимо инициализировать значение по умолчанию. – zimdanen

ответ

1

Вы пропускаете синтаксис «в то время как» элемент

С сайта солнца (я предполагаю, что это Java)

do { 
    statement(s) 
} while (expression); 
+0

Хорошо, а что означает «утверждение (ы)»? – user2422314

+0

@ user2422314: 'statement (s)' - это код, который у вас есть в вашем примере между 'do {' и закрывающим '}'. – zimdanen

+5

вам нужно знать, что означает слово «заявление», чтобы иметь возможность писать код. – UmNyobe

1

Я думаю, что вам нужно закрыть фигурные скобки перед тем, как

do{ 
warning.setText("   FEL!");   
i++; 
}while(x == false); 
+0

Я попробовал, но он все еще дает мне код ошибки – user2422314

+0

while (x == false); {Вы пытались удалить эту фигурную скобку после этого while заявление в дополнение к добавлению одного раньше? Похоже, что у одного после этого нет причин быть там. возможно, попробуйте это следующим образом: do { warning.setText («FEL!»); i ++;} while (x = false); – Josh

+0

Я попробовал, но показывает тот же код ошибки – user2422314

0

Вся структура все не так, вы хотите сделать что-то очень простое:

if(e.getSource() == buttonOK) 
{ 
    if(!buttonDollar.isSelected() && !buttonEuro.isSelected() 
     && !buttonPund.isSelected() && !buttonKrona.isSelected()) 
    { 
     warning.setText("   FEL!");   
    } 
} 

С точки зрения пользовательского интерфейса, это лучше, чтобы убедиться, что кнопка один радио всегда выбирается (как это то, что пользователи скорее всего, ожидают).