3 回答
TA贡献1780条经验 获得超1个赞
您可以尝试使用 String 作为输入参数,然后将正确读取任何 int 值或 char 而无需转换它们:
try {
String choice = input.next();
System.out.println(choice);
switch (choice) {
case "1":
aOT.areaOfTriangle();
break;
case "2":
hTDAH.hoursToDaysAndHours();
break;
case "3":
cTF.celciusToFahrenheit();
case "4":
System.out.println("Code not implemented");
break;
case "e":
repeat = false;
break;
default:
System.out.println("");
break;
}
TA贡献1811条经验 获得超5个赞
您不能同时使用 int 和 chars,因为您只能使用一个变量,并且变量必须具有类型,但是:如果您将 char 或 Character 转换为 int,您将获得值。例如 ((int) 'e') 如果我没记错的话,计算结果为 101。(试试 System.out.println((int) 'e')); 所以在你的情况下,你可以切换 int 值并检测 1、2、3、4 和 101。你的默认值也应该抛出一个异常,你很好。
TA贡献1801条经验 获得超8个赞
您可以只使用char数字 1-4的表示形式:
char choice = input.next().charAt(0);
switch (choice) {
case '1':
aOT.areaOfTriangle();
break;
case '2':
hTDAH.hoursToDaysAndHours();
break;
case '3':
cTF.celciusToFahrenheit();
case '4':
System.out.println("Code not implemented");
break;
case 'e':
repeat = false;
break;
default:
System.out.println("");
break;
}
添加回答
举报