【问题标题】:Using a Button to Increase a Number in a TextField使用按钮增加文本字段中的数字
【发布时间】:2015-09-20 15:11:47
【问题描述】:

我正在创建一个应用程序,当我单击按钮以将文本字段中的值增加 1 时它崩溃了。我很累,也许我看不正确。这是一个按钮点击事件。

我已将所有内容放在一个永远不会结束的 while 循环中。然后 ifs 将 int 中的值增加 1,然后将其存储到一个字符串中,该字符串将值设置为文本框。我还将在背面添加一个减少按钮。

 int SetUP = Integer.parseInt(findTxtComp().getText());
String SetUp;
SetUp = String.valueOf(SetUP);

int ChstSetLoop;
ChstSetLoop = 1;

        while(ChstSetLoop == 1){
    if(SetUp.equals("0")){

        SetUP = 1;
        SetUp = String.valueOf(SetUP);

        findTxtComp().setText(SetUp);
    }
    if(SetUp.equals("1")){

        SetUP = 2;
        SetUp = String.valueOf(SetUP);

        findTxtComp().setText(SetUp);
    }
    if(SetUp.equals("2")){

        SetUP = 3;
        SetUp = String.valueOf(SetUP);

        findTxtComp().setText(SetUp);
    }
    if(SetUp.equals("3")){

        SetUP = 4;
        SetUp = String.valueOf(SetUP);

        findTxtComp().setText(SetUp);
    }
    if(SetUp.equals("4")){

        SetUP = 5;
        SetUp = String.valueOf(SetUP);

        findTxtComp().setText(SetUp);
        SetUP = 0;
    }

    else{


    }
        }

【问题讨论】:

  • 为什么标记为 iOS?

标签: if-statement netbeans codenameone


【解决方案1】:

您需要将最后 4 个 if 语句更改为 else if 否则 SetUp 在每个循环结束时将始终以 0 结尾。

 int SetUP = Integer.parseInt(findTxtComp().getText());
String SetUp;
SetUp = String.valueOf(SetUP);

int ChstSetLoop;
ChstSetLoop = 1;

        while(ChstSetLoop == 1){
    if(SetUp.equals("0")){

        SetUP = 1;
        SetUp = String.valueOf(SetUP);

        findTxtComp().setText(SetUp);
    }
    else if(SetUp.equals("1")){

        SetUP = 2;
        SetUp = String.valueOf(SetUP);

        findTxtComp().setText(SetUp);
    }
    else if(SetUp.equals("2")){

        SetUP = 3;
        SetUp = String.valueOf(SetUP);

        findTxtComp().setText(SetUp);
    }
    else if(SetUp.equals("3")){

        SetUP = 4;
        SetUp = String.valueOf(SetUP);

        findTxtComp().setText(SetUp);
    }
    else if(SetUp.equals("4")){

        SetUP = 5;
        SetUp = String.valueOf(SetUP);

        findTxtComp().setText(SetUp);
        SetUP = 0;
    }

    else{


    }
        }

另外,SetUp 被分配了字符串和数字……这可不好!!

【讨论】:

    【解决方案2】:

    您使用了错误的if else 声明:

    if condition 1 {
        statements to execute if condition 1 is true
    } else if condition 2 {
        statements to execute if condition 2 is true
    } else {
        statements to execute if both conditions are false
    }
    

    希望这会有所帮助。

    【讨论】:

    • 谢谢!是的,这确实有道理。
    猜你喜欢
    • 2012-12-21
    • 1970-01-01
    • 2015-07-08
    • 1970-01-01
    • 1970-01-01
    • 2014-01-01
    • 1970-01-01
    • 2016-01-12
    • 2017-08-08
    相关资源
    最近更新 更多