Java开关环路中断故障
我从Java开始,为switch找到了一个任务,我正在努力解决这个问题。希望你能给我指出正确的方向。 用户可以输入字符串1、1、2、2、3、3、4、4或5,其值可以是1到10。开关用于将1转换为1.0,1-转换为1.5,2-转换为2.0,2-转换为2.5,等等,但是我只需要存储使用的1或0,但in不能是布尔值,因为我需要对其进行一些数学运算。这个开关应该重复给定的次数。这应该在不使用数组的情况下完成。所以我想到了一个主意,创建一组9个声明来为每个1、1-等存储1或0,再创建9个声明来存储它们相应的值。只要我只运行一次就可以了,但是当我放入循环时,它会变得一团糟,无法正常工作。我觉得这是我对休息的误解,但我就是看不出来。谢谢
循环情况下的输出如下所示: 入级 1- 输入1-:3的库存 入级 无效的成绩输入成绩
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int goods = 5;
int grade1 = 0;
int grade15 = 0;
int grade2 = 0;
int grade25 = 0;
int grade3 = 0;
int grade35 = 0;
int grade4 = 0;
int grade45 = 0;
int grade5 = 0;
int stock1 = 0;
int stock15 = 0;
int stock2 = 0;
int stock25 = 0;
int stock3 = 0;
int stock35 = 0;
int stock4 = 0;
int stock45 = 0;
int stock5 = 0;
for( int i = 1; i <= goods; i++ ){ //start of for
System.out.println("Enter grade"); // grade input
String select1 = (sc.nextLine());
switch (select1) { //here starts switch
case "1":
grade1 = 1;
System.out.print("Enter stock for 1: ");
stock1 = sc.nextInt();
break;
case "1-":
grade15 = 1;
System.out.print("Enter stock for 1-: ");
stock15 = sc.nextInt();
break;
case "2":
grade2 = 1;
System.out.print("Enter stock for 2: ");
stock2 = sc.nextInt();
break;
case "2-":
grade25 = 1;
System.out.print("Enter stock for 2-: ");
stock25 = sc.nextInt();
break;
case "3":
grade3 = 1;
System.out.print("Enter stock for 3: ");
stock3 = sc.nextInt();
break;
case "3-":
grade35 = 1;
System.out.print("Enter stock for 3-: ");
stock35 = sc.nextInt();
break;
case "4":
grade4 = 1;
System.out.print("Enter stock for 4: ");
stock4 = sc.nextInt();
break;
case "4-":
grade45 = 1;
System.out.print("Enter stock for 4-: ");
stock45 = sc.nextInt();
break;
case "5":
grade5 = 1;
System.out.print("Enter stock for 5: ");
stock5 = sc.nextInt();
break;
default:
System.out.print("Invalid grade");
} // end of switch
} //end of for
// test output of values for further use
System.out.println (grade1);
System.out.println (grade15);
System.out.println (grade2);
System.out.println (grade25);
System.out.println (grade3);
System.out.println (grade35);
System.out.println (grade4);
System.out.println (grade45);
System.out.println (grade5);
System.out.println();
System.out.println (stock1);
System.out.println (stock15);
System.out.println (stock2);
System.out.println (stock25);
System.out.println (stock3);
System.out.println (stock35);
System.out.println (stock4);
System.out.println (stock45);
System.out.println (stock5);
}
共 (0) 个答案