Java 向嵌套开关案例添加用户输入
我希望用户输入他们的成绩(例如A+),我会给他们结果。我需要帮助将用户输入添加到控制台中,因为我真的不知道如何在嵌套的情况下添加它 我的代码: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
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();
}