Java 如何打破循环

Java 如何打破循环,java,Java,我已经尝试了所有我能想到的打破这个循环的方法,但没有一个奏效。我想知道是否有人能帮忙 import java.io.*; import java.util.*; public class Tester { public static void main(String args[]) { int j; for(j=5;j>4;j++) { Scanner kbReader = new Scanner(Syst

我已经尝试了所有我能想到的打破这个循环的方法,但没有一个奏效。我想知道是否有人能帮忙

import java.io.*;
import java.util.*;
public class Tester
{
    public static void main(String args[])
    {
      int j;
        for(j=5;j>4;j++)
        {
            Scanner kbReader = new Scanner(System.in);
            System.out.print("Type in a sentence and press ENTER. ");
            String a = kbReader.next( );
            String b = a.toUpperCase();
            System.out.println(b);
            if( b == "EXIT" )
                break;
        }
}
}
而不是

String b = a.toUpperCase();
System.out.println(b);
if( b == "EXIT" )
    break;
你应该做:

if( a.equalsIgnoreCase("EXIT") )
    break;
而不是

String b = a.toUpperCase();
System.out.println(b);
if( b == "EXIT" )
    break;
你应该做:

if( a.equalsIgnoreCase("EXIT") )
    break;

不要使用
=
比较
字符串
值。使用
equals()
。也无需在每次迭代时创建
新扫描仪。声明一次,在for循环之外。投票重新打开。这些问题不是重复的,即使基本的解决方案是相同的。你为什么选择(j=5;j>4;j++)?如果想要无限循环,可以使用while(true)或for(;)。为了比较字符串,您应该使用equals(正如已经建议的那样)@unohu您的意思是
,而(true)
。对于(;)
,总是优先使用
而不是
,这很容易混淆。@邓肯编辑了我的评论。不要使用
==
比较
字符串
值。使用
equals()
。也无需在每次迭代时创建
新扫描仪。声明一次,在for循环之外。投票重新打开。这些问题不是重复的,即使基本的解决方案是相同的。你为什么选择(j=5;j>4;j++)?如果想要无限循环,可以使用while(true)或for(;)。为了比较字符串,您应该使用equals(正如已经建议的那样)@unohu您的意思是
,而(true)
。对于(;;)
,请始终优先使用该选项。@Duncan编辑了我的评论,非常感谢。这真的很有帮助,非常感谢。这真的很有帮助。