Java 向嵌套开关案例添加用户输入

Java 向嵌套开关案例添加用户输入,java,nested,switch-statement,Java,Nested,Switch Statement,我希望用户输入他们的成绩(例如A+),我会给他们结果。我需要帮助将用户输入添加到控制台中,因为我真的不知道如何在嵌套的情况下添加它 我的代码: public class SwitchCase { public static void main(String[] args) { String plusorminus ="+-"; char mark = plusorminus.charAt(0); char modifier = 0; if(plusormi

我希望用户输入他们的成绩(例如A+),我会给他们结果。我需要帮助将用户输入添加到控制台中,因为我真的不知道如何在嵌套的情况下添加它

我的代码:

public class SwitchCase {

public static void main(String[] args) {

    String plusorminus ="+-";

    char mark = plusorminus.charAt(0);
    char modifier = 0;

    if(plusorminus.length() > 1)
    {
        modifier = plusorminus.charAt(1);
    }

    java.util.Scanner input=new java.util.Scanner(System.in);

    switch(mark)
    {
        case 'A':
            switch(modifier)
            {
                case '+': System.out.println("Your grade is 90-99.99%"); break;
                case '-': System.out.println("Your grade is 90-84.99%"); break;
                default: System.out.println("Your grade is 85-89.99%"); break;
            }
            break;
        case 'B':
            switch(modifier)
            {
               case'+': System.out.println("Your grade is 77.00 - 79.99%"); break;
               case'-': System.out.println("Your grade is 70.00 - 72.99%"); break;
               default: System.out.println("Your grade is 73.00 - 76.99%"); break;
            }
            break;   
        case 'C':
            switch(modifier)
             {
               case'+': System.out.println("Your grade range is 67.00 - 69.99%"); break;
               case'-': System.out.println("Your grade range is 60.00 - 62.99%"); break;
               default: System.out.println("Your grade range is 63.00 - 66.99%"); break;
             }
             break;
        case 'D':
             switch(modifier)
             {
               case'+': System.out.println("Your grade range is 55.00 - 59.99%"); break;
               case'-': System.out.println("-"); break;
               default: System.out.println("Your grade range is 50.00 - 54.99%"); break;
             }
             break;
        case 'F':
             switch(modifier)
             {
               default: System.out.println("Your grade range is 0.00-49.99%"); break;
              }    
             break;
        }
        input.close();
    }
}
input.nextLine()
将返回可分配给变量的
字符串。您正在switch语句中使用
char
,因此需要获取该
字符串的第一个字母才能允许此操作

java.util.Scanner input = new java.util.Scanner(System.in);
String userInputString = input.nextLine();
char mark = userInputString.charAt(0);

另一种解决方案,而不是steven35,是这样做的(通过这种方式,您可以从已经完成的工作中集成)


}

您想在哪里添加用户输入,为什么您放置所需代码行的地方会更改代码?我真的不知道在哪里添加用户输入,因为这是我第一次处理开关案例,尤其是嵌套开关。我知道有更简单的方法,但我必须这样做。您可以使用不同的变量名,但这是获取用户输入并将其分配给变量的方式。就拿这个作为例子吧。是的,我理解那部分。谢谢你,伙计。问题得到了回答。
public class SwitchCase {

public static void main(String[] args) {
    Scanner scanIn = new Scanner(System.in);

    System.out.println("Input a mark");
    String line =  scanIn.nextLine();


    if (line.length()>2){
        System.out.println("ex: +a / -a / a");
        return;
    }

    char[] cA = line.substring(1, 2).toUpperCase().toCharArray();

    char[] cB = line.substring(0, 1).toUpperCase().toCharArray();

    char mark = cA[0];
    char modifier = cB[0];

    System.out.println(" INPUT: "+modifier+mark);

    switch(mark)
    {
    case 'A':
        switch(modifier)
        {
        case '+': System.out.println("Your grade is 90-99.99%"); break;
        case '-': System.out.println("Your grade is 90-84.99%"); break;
        default: System.out.println("Your grade is 85-89.99%"); break;
        }
        break;
    case 'B':
        switch(modifier)
        {
        case'+': System.out.println("Your grade is 77.00 - 79.99%"); break;
        case'-': System.out.println("Your grade is 70.00 - 72.99%"); break;
        default: System.out.println("Your grade is 73.00 - 76.99%"); break;
        }
        break;   
    case 'C':
        switch(modifier)
        {
        case'+': System.out.println("Your grade range is 67.00 - 69.99%"); break;
        case'-': System.out.println("Your grade range is 60.00 - 62.99%"); break;
        default: System.out.println("Your grade range is 63.00 - 66.99%"); break;
        }
        break;
    case 'D':
        switch(modifier)
        {
        case'+': System.out.println("Your grade range is 55.00 - 59.99%"); break;
        case'-': System.out.println("-"); break;
        default: System.out.println("Your grade range is 50.00 - 54.99%"); break;
        }
        break;
    case 'F':
        switch(modifier)
        {
        default: System.out.println("Your grade range is 0.00-49.99%"); break;
        }    
        break;
    }
    //input.close();
}