Infinite Output in case Statement java



我接受用户以字符串形式输入(同时包含char&int(;int并在case语句中使用char,但我的case语句给了我无限循环。我搞不清这个错误。。

public static void main(String[] args) {

Scanner sc=new Scanner(System.in);

String str=sc.nextLine();

String[] part = str.split("\s+");

do 
{ 

switch(part[0])
{
case "AB":
System.out.println("hi");
int data=Integer.parseInt(part[1]);
System.out.println(data);
break;
case "PR":
System.out.println("printining");
break;
case "AE":
System.out.println("AE");
break;
case "EXIT":
System.exit(0);
break;
}
}
while(true);

}

循环内不更改part;因此,除非您最初输入EXIT,否则它将继续循环。

将循环上方的两行移动到循环中:

do
{
String str = sc.nextLine();
String[] part = str.split("\s+");
// Rest of loop body.

break语句退出开关而不是循环,并且循环条件始终为true!

最新更新