Java 在Switch语句中使用2个变量
大家好,我的程序只输入1个字符,但我的switch语句可以识别小写字母或大写字母 您可以使用多个大小写来识别小写和大写字母:Java 在Switch语句中使用2个变量,java,switch-statement,Java,Switch Statement,大家好,我的程序只输入1个字符,但我的switch语句可以识别小写字母或大写字母 您可以使用多个大小写来识别小写和大写字母: import java.util.Scanner; class Test { public static void main(String args[]) { String charr; try{ Scanner sc = new Scanner(System.in); System.out.println("Ent
import java.util.Scanner;
class Test {
public static void main(String args[]) {
String charr;
try{
Scanner sc = new Scanner(System.in);
System.out.println("Enter the Value ");
charr = sc.next();
switch (charr +"|"+ charr) {
case "a|A" : System.out.println("a | A"); break;
case "b|B" : System.out.println("b | B"); break;
case "c|C" : System.out.println("c | C"); break;
case "d|D" : System.out.println("d | D"); break;
default: System.out.println("You are doing it wrong");
}
} catch(java.util.InputMismatchException e) {
System.out.println("Exception thrown :" + e);
}
System.out.println("Out of Block");
}
}
但是,一个更容易的选择是在检查之前转换为小写或大写:
switch (charr) {
case "a": case "A" : System.out.println("a | A"); break;
case "b": case "B" : System.out.println("b | B"); break;
case "c": case "C" : System.out.println("c | C"); break;
case "d": case "D" : System.out.println("d | D"); break;
default: System.out.println("You are doing it wrong");
}
如果您使用java 7及以上版本执行 尝试将字母转换为大写,如下所示
switch (charr.toLowerCase()) {
case "a": System.out.println("a | A"); break;
case "b": System.out.println("b | B"); break;
case "c": System.out.println("c | C"); break;
case "d": System.out.println("d | D"); break;
default: System.out.println("You are doing it wrong");
}
希望这对您有所帮助。只需将字符串用作
charr=sc.next().toLowerCase()
或charr=sc.next().toUpperCase()
然后使用您的case。假设您正在使用toLowerCase()代码>大于
switch (charr.toUpperCase())
{
case "A" : System.out.println("a | A"); break;
case "B" : System.out.println("b | B"); break;
case "C" : System.out.println("c | C"); break;
case "D" : System.out.println("d | D"); break;
default: System.out.println("You are doing it wrong");
}
注意:这将在JAVA 7中编译,或者使用char原语类型编译相同的JAVA!=javascript..尝试降低任何输入,只与较低的字符进行比较..它将不会编译,除非使用java 7我希望它检查这两个字符。A&A在相同的情况下。它永远不会找到匹配项,因为在您的交换机中,您添加了两个|,而在您的情况下,您只有一个。正如A.S.所建议的,charr=charr.toLowerCase();并将它们与“a”,“b”。。。
switch (charr) {
case "a": System.out.println("a | A"); break;
case "b": System.out.println("a | A"); break;
case "c": System.out.println("a | A"); break;
case "d": System.out.println("a | A"); break;
default: System.out.println("You are doing it wrong");
}