【问题标题】:Do-While loop not receiving variable value [duplicate]Do-While 循环未接收到变量值 [重复]
【发布时间】:2016-12-27 14:15:54
【问题描述】:

我正在编写一个提示用户输入密码的小程序,如果用户输入的密码不正确,那么程序会一直提示用户输入密码。一旦用户输入正确的密码,程序就会退出。我创建了一个do-while循环,一直循环,直到输入正确的密码,但是当输入正确的密码时,程序继续循环,不退出。变量值似乎没有到达程序的 while 子句。有人可以告诉我哪里出错了吗?我的代码如下:

    import java.util.*;
    import javax.swing.*;

    public class do_whilePassword
    {

public static void main ( String [] args )
{
   String choice = "";

     do
        {
            choice = JOptionPane.showInputDialog("Please enter in a password");

        }while(choice != "John" );

}
}

【问题讨论】:

  • while (choice.equals("John"))

标签: java loops joptionpane do-while


【解决方案1】:

只是它与使用.equal而不是=比较Java字符串有关

do
{
    ...

}while(! choice.equals("John"));

【讨论】:

  • 但问题是,使用 String.equals 会使其保持循环。我只希望它在密码不等于 John 时循环,以便在密码等于 John 时循环结束。我还注意到,循环的 while 部分没有获取选择变量的值,它显示为空白。我认为这就是它不起作用的原因。
猜你喜欢
  • 2018-02-15
  • 1970-01-01
  • 1970-01-01
  • 2016-01-24
  • 2022-01-22
  • 2015-08-16
  • 2018-04-06
  • 2015-11-01
  • 1970-01-01
相关资源
最近更新 更多