/当我运行程序时。在 switch 中的 if 语句中添加学分后,总学分超过 20 分后,loop/switch 不会跳出循环。它继续运行,添加制作人员。需要修复什么?/
import java.util.ArrayList;
import java.util.Scanner;
public class CoursesRegistration {
public static void main(String[] args) {
Scanner kb=new Scanner(System.in);
int choose=0;
int option;
ArrayList<String> CourseOffer = new ArrayList<String>();
CourseOffer.add(" CS1001-Basic Programming 3 Credit RM300.00");
CourseOffer.add(" CS1002-Python Programming 4 Credit RM400.00");
CourseOffer.add(" CS1004-Operating System 3 Credit RM300.00");
CourseOffer.add(" CS1005-Web Graphical Interface (GUI) 3 Credit RM300.00");
CourseOffer.add(" CS1006-Web Programming 4 Credit RM400.00");
CourseOffer.add(" CS1007-Agile Development 3 Credit RM300.00");
CourseOffer.add(" CS1008-Database Implementation 3 Credit RM300.00");
CourseOffer.add(" CS1009-System Security 3 Credit RM300.00");
CourseOffer.add(" CS1010-Software Testing 3 Credit RM300.00");
CourseOffer.add(" NA1001-Culture and Social 2 Credit RM300.00");
do{
double cost=0;
for(int i=0;i<CourseOffer.size();i++)
{
System.out.println((i+1)+"-"+CourseOffer.get(i) );
}
System.out.println("");
int total=0;
while(choose != 99)
{
if(total >= 20)
{
break;
}
System.out.print("Please choose your subject recomend for this semester: ");
choose=kb.nextInt();
switch(choose){
case 1:
if(total+3>20)
{
break;
}
else
{
System.out.println("CS1001 Basic Programming");
total +=3;
cost+=300;
}
break;
case 2:
if(total+4>20)
{
break;
}
else
{
System.out.println("CS1002 Python Programming ");
total +=4;
cost+=400;
}
break;
case 3:
if(total+3>20)
{
break;
}
else
{
System.out.println("CS1004 Operating System");
total += 3;
cost+=300;
}
break;
case 4:
if(total+3>20)
{
break;
}
else
{
System.out.println("CS1005 Web Graphical Interface (GUI ");
total += 3;
cost+=300;
}
break;
case 5:
if(total+4>20)
{
break;
}
else
{
System.out.println("CS1006 Web Programming ");
total += 4;
cost+=400;
}
break;
case 6:
if(total+3>20)
{
break;
}
else
{
System.out.println("CS1007 Agile Development ");
total+= 3;
cost+=300;
}
break;
case 7:
if(total+3>20)
{
break;
}
else
{
System.out.println("CS1008 Database Implementation ");
total+= 3;
cost+=300;
}
break;
case 8:
if(total+3>20)
{
break;
}
else
{
System.out.println("CS1009 System Security ");
total+= 3;
cost+=300;
}
break;
case 9:
if(total+3>20)
{
break;
}
else
{
System.out.println("CS1010 Software Testing ");
total+= 3;
cost+=300;
}
break;
case 10:
if(total+3>20)
{
break;
}
else
{
System.out.println("NA1001 Culture and Social ");
total+= 2;
cost+=200;
}
break;
}
}
System.out.println("");
System.out.println("Total credit hour for this semester is "+total);
System.out.println("");
System.out.println("Registration slip of ABC's College Registration Course ");
System.out.println("");
for(int i=0;i<CourseOffer.size();i++)
{
System.out.println(""+CourseOffer.get(i) );
}
System.out.print("Total student payment : RM");
System.out.printf("%.2f",cost);
System.out.println("\nPlease enter 1 to continue and 0 to exit: ");
option=kb.nextInt();
}while(option==1);
}
}
最佳答案
改变
while(choose != 99)
{
至
myLoop:
while(choose != 99)
{
& 在 switch block 内,您可以使用
打破循环break myLoop;
关于java - switch 中的 if 语句中断不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34047712/