所以我试图提示用户从带有字符串的数组中进行选择。 排名应该添加到用户属性中。
但是,当我打印“排名”信息时,它打印的是数字,而不是字符串。不知道为什么...
String ranks[] = new String[3];
ranks[0] = "Guld";
ranks[1] = "Platinum";
ranks[2] = "Diamond";
System.out.println("\nVælg 1 for Guld");
System.out.println("Vælg 2 for Platiunum");
System.out.println("Vælg 3 for Diamond");
rank = input.next();
最佳答案
那是因为排名
只是一个数字*。您需要使用该数字作为 String
数组的索引:
String rankName = ranks[rank - 1];
<小时/>
*事实上,Sanner#next()
返回一个String
。虽然这可能包含一个数字,但 Java 不知道这一点。您需要使用 Scanner#nextInt()
相反:
int rank = input.nextInt();
<小时/>
顺便说一句,您的 System.out.println()
语句 block 可以通过循环来缩短,因为所有必需的信息已经在您的 ranks
数组中:
for (int i = 0; i < ranks.length; i++) {
System.out.printf("Vælg %d for %s\n", i + 1, ranks[i]);
}
关于java - 提示用户从数组中选择元素以获取用户信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53885151/