Java 为什么你要这样做;I don’我不回应

Java 为什么你要这样做;I don’我不回应,java,Java,我正在设置这个do-while循环。我需要在哪里更正此代码 因此,当给出000000时,循环结束 public static void main(String[] args) { Scanner kb = new Scanner(System.in); String am ; { do { System.out.println("give am number"); am = kb.next(); if (am.matche

我正在设置这个do-while循环。我需要在哪里更正此代码 因此,当给出000000时,循环结束

public static void main(String[] args) 
{
   Scanner kb = new Scanner(System.in);

    String am ;
   {
   do
   {  System.out.println("give am number");
        am = kb.next();   
       if (am.matches("[0-9]+") && am.length() <= 6)
        {System.out.println("am = "+am);
        {break;}}
        else 
       {System.out.println("wrong try again");  
            am = kb.next();
       }   
   } while(!"000000".equals(am));
publicstaticvoidmain(字符串[]args)
{
扫描仪kb=新扫描仪(System.in);
字符串am;
{
做
{System.out.println(“给出am编号”);
am=kb.next();

如果现在(am.matches(“[0-9]+”)&&am.length(),则检查是否相等,而不是匹配。
“000000”
不等于
“[000000]”
,因此循环继续进行


现在还不完全清楚您想要什么,但我认为去掉方括号可能就是答案。

欢迎使用堆栈溢出。如果您能以更传统的方式格式化代码,并使用一致的缩进,这将真正有助于提高问题的可读性。(除此之外,您目前格式化它的方式使它看起来像是您期望对
kb.next()
的第二次调用位于
else
fork中,而它不是。)如果您想检查它是否是
“000000”
为什么要与
“[000000]”进行比较(正则表达式使用
[]
匹配其任何元素,但
equals
未使用正则表达式)我想实现的是,当用户给出的数字是000000时,循环必须结束,然后你应该删除方括号。遗憾的是,它没有这样做work@ted请解释它是如何工作的,以及如何更好地格式化您的代码,因为它看起来确实像您的formattin当用户的输入为000000时,它应该被while语句停止,但它没有停止