【问题标题】:While loop: Need assistanceWhile 循环:需要帮助
【发布时间】:2013-05-24 21:42:41
【问题描述】:

我找不到导致我的 while 循环不起作用的问题。

当我运行程序并按下单选按钮时,我收到以下错误代码:

语法错误,插入“while (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;

        }
    }
}

【问题讨论】:

  • 您需要一个while 子句来完成一个do-while 语句。如果您想永远循环,请使用do { ... } while (true)。或者只是while (true) { ... }。附言这是什么语言?
  • @rajansoft1:根据语言,应该初始化为默认值。
  • @zimdanen 可以给它添加语言标签吗,它可能会有所帮助
  • 你到底想完成什么?
  • while(x == false);{ 中的分号几乎肯定会造成灾难。

标签: java loops while-loop boolean


【解决方案1】:

您缺少“while”元素的语法

来自sun网站(我猜这是java)

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

【讨论】:

  • 好的,“statement(s)”是什么样的?
  • @user2422314: statement(s) 是您的示例中的代码,介于 do { 和结束 } 之间。
  • 你需要知道“语句”这个词是什么意思才能写代码。
【解决方案2】:

我认为在 while 之前你需要一个右花括号

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

【讨论】:

  • while(x == false);{ 除了添加之前的语句之外,您是否尝试过在此 while 语句之后删除这个花括号?看起来好像过了一会儿没有理由在那里。或许可以这样尝试:do{warning.setText("FEL!"); i++;} while(x == false);
【解决方案3】:

整个结构都错了,你想做一些非常简单的事情:

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

从 UI 的角度来看,最好确保始终选中一个单选按钮(因为这可能是您的用户所期望的)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-02-19
    • 2016-11-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多