【发布时间】:2014-03-27 23:40:08
【问题描述】:
我正在为我的班级编写一个罗马数字程序。我正在使用 switch 语句将字符串转换为整数。但是,当我运行它时出现不兼容的类型错误。我正在运行 java 7,所以这不是问题。这是我的代码:
public static void main()
{
// Declare local variables
Scanner input = new Scanner(System.in);
String rNum;
int i;
int[] rArray;
// Display program purpose
System.out.println("This Program Converts Roman numerals to decimals");
System.out.println("The Roman numerals are I (1), V (5), X (10), L (50), C (100), D (500) and M (1000).");
System.out.print("Enter your roman numeral: ");
rNum = input.next().toUpperCase();
rArray = new int[rNum.length()];
for(i = 0; i < rNum.length(); i++){
switch(rNum.charAt(i)){
case "I": rArray[i] = 1;
break;
}
}
【问题讨论】:
-
charAt返回什么值类型?"I"是什么类型的? -
Sotirios Delimolis- 有一个很好的观点,即使你有下面的答案。以后,这样想,你自己会找到大部分答案。
-
这是一个很好的观点。我还是 java 新手,没有意识到有 char 类型。我会记住这一点。
标签: java arrays switch-statement incompatibletypeerror