有人可以帮我解决这个问题吗?我想将来自用户的输入存储为字符串数组。错误是:Java.lang,String connot be converted into string.String
这是我的代码:
Scanner input = new Scanner(System.in);
int nSize;
System.out.println("Enter size of array to store data..:");
nSize = input.nextInt();
String[] names= new String[nSize]; // name array
int[] phone= new int[nSize]; //phone array
for ( int i = 1; i <= nSize;i++)
{
System.out.println("Enter name..:");
names[i] = input.next();
System.out.println("Enter phone number.:");
phone[i] = input.nextInt();
}
答案 0 :(得分:0)
我运行了您的代码,但没有遇到您在问题中描述的问题。
但是,我确实找到了同一行的问题,这很可能是您解决问题的方法。 (不匹配错误)
您应该使用names[i] = input.next();
而不是names[i] = input.nextLine();
,否则,它将返回一个空字符串。
答案 1 :(得分:0)
cuechange
答案 2 :(得分:0)
执行代码后,我没有看到您提到的错误。同样,所需的输出有点模糊。 但是,我尝试使用 BufferedReader 来实现我从中解释的内容,
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
int nSize;
System.out.println("Enter size of array to store data..:");
try {
nSize = Integer.parseInt(reader.readLine());
String[] names = new String[nSize]; // name array
long[] phone = new long[nSize]; // phone array
for (int i = 0; i < nSize; i++) {
System.out.println("Enter name..:");
names[i] = reader.readLine();
System.out.println("Enter phone number.:");
phone[i] = Long.parseLong(reader.readLine());
}
} catch (NumberFormatException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
检查是否有帮助。