因此,我试图提示用户从带有字符串的数组中选择。 排名应该被添加到用户属性。
但是,当我打印出有关“等级”的信息时,它是打印出数字,而不是字符串。不知道为什么...
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();
答案 0 :(得分:1)
那是因为rank
是只是一个数字*。您需要将该数字用作String
s数组的索引:
String rankName = ranks[rank - 1];
* 实际上,Sanner#next()
返回一个String
。尽管它可能包含数字,但是Java不知道这一点。您将改为使用Scanner#nextInt()
:
int rank = input.nextInt();
顺便说一句,您的System.out.println()
语句块可以通过循环来缩短,因为所有必需的信息已经在ranks
数组中:
for (int i = 0; i < ranks.length; i++) {
System.out.printf("Vælg %d for %s\n", i + 1, ranks[i]);
}