我有一大堆代码,我一直遇到问题:
int n = 5;
String[] variables = new String[31];
//user input defining the strings in the array
for(int i = 1; i < n+1; i++)
{
System.out.print("Define variable " + i + ": ");
variables[i] = System.console().readLine();
System.out.println("Variable " + i + " has been set to " + variables[i]);
}
int vfirstDigit;
//some irrelevant code excluded
for(int firstDigit = 1; firstDigit < n+1; firstDigit++)
{
switch(firstDigit)
{
case 1:
vfirstDigit = variables[1];
break;
}
}
当我在switch语句中调用变量[1]时,编译器将其标记为错误,表示String数组不能转换为整数。当用户输入必须是字符时,为什么调用数组中的特定字符串会将其转换为整数?很确定我在这里做错了。
答案 0 :(得分:0)
使用,
vfirstDigit = Integer.parseInt(variables[1]); // vfirstDigit is an int and variables[1] returns a String. you have to convert (parse) the String to an int.
parseInt()是Integer类中的静态方法。它有许多重载形式(即许多形式采用不同的参数)。它返回传递值的整数表示。
答案 1 :(得分:0)
Array是一个对象。您需要使用Integer的方法parseInt将其转换为数字。