有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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) 个答案