【问题标题】:Unable to create while/boolean loop无法创建 while/布尔循环
【发布时间】:2015-02-27 00:14:52
【问题描述】:

我是 java 的菜鸟。我正在尝试创建一个 while 循环,该循环将在每个进程后提示用户;至于他们是否愿意继续。我的进度是这样的。

    String proString,answer;
    char t,f,x;
    boolean exitTime;
    exitTime = false;
    proString = " Would You Like To Continue? \n";
    while(!exitTime) {
        continue;
    }
    answer = JOptionPane.showInputDialog(null," Would You Like To Continue? T/F ",HEADING,JOptionPane.INFORMATION_MESSAGE);
    x = char.parseChar(answer);

我也尝试了以下方法,但无济于事......

    Prompt= JOptonPane.showInputDialog(null,proString,HEADING,JOptionPane.QUESTION_MESSAGE); 
    input = char.parseChar(Prompt);
    if(input == "y") {
        break;
    }
    else if(input == "n") {
    }
    input = char.parseChar(Prompt);
    if(input != "y"||"n") {
        JOptionPane.showMessageDialog(null,"Invalid Input", "Error", JOptionPane.INFORMATION_MESSAGE);
    }
    else {
    }

我想我的问题归结为我应该使用 JOptionPane.showInputDialog(...) 还是 JOptionPane.showConfirmDialog(...) 或其他方法?请告诉我你将如何做到这一点。

【问题讨论】:

  • 如果您问题中的代码格式正确,帮助您会容易得多。
  • 因此'我是菜鸟'。如何使用我的变量创建一个 while 循环?
  • 你能提供编译的代码吗?因为您的代码中有很多部分语法不正确。
  • 变量输入是什么数据类型
  • 我正在使用“字符输入”,因为我试图让问题返回一个字符,因为我无法将字符串转换为字符......但这可能是错误的想法......

标签: java while-loop boolean boolean-logic boolean-expression


【解决方案1】:

您需要的是使用 do-while 循环:

//assume user does not want to continue.
boolean continue = false;
do
{
//process whatever you want

//ask the user
Prompt= JOptonPane.showInputDialog(null,proString,HEADING,JOptionPane.QUESTION_MESSAGE);
input = char.parseChar(Prompt);
//wait until you get a valid input
while(input != "y"||"n")
{
JOptionPane.showMessageDialog(null,"Invalid Input", "Error",JOptionPane.INFORMATION_MESSAGE);
Prompt= JOptonPane.showInputDialog(null,proString,HEADING,JOptionPane.QUESTION_MESSAGE); 
input = char.parseChar(Prompt);
}
//if user wants to continue, change your flag to true
if(input == "y") {
    continue = true;
}
//otherwise make it false
else if(input == "n") {
    continue = false;
}
while(continue); //if continue is true loop back

我还没有测试过,但它应该可以解释你的逻辑。

【讨论】:

    猜你喜欢
    • 2011-08-01
    • 2017-11-20
    • 2021-02-20
    • 1970-01-01
    • 2013-10-25
    • 2012-10-18
    • 2012-04-18
    • 2020-12-03
    • 1970-01-01
    相关资源
    最近更新 更多