提示用户从数组中选择元素以获取用户信息

时间:2018-12-21 12:54:37

标签: java

因此,我试图提示用户从带有字符串的数组中选择。 排名应该被添加到用户属性。

但是,当我打印出有关“等级”的信息时,它是打印出数字,而不是字符串。不知道为什么...

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();

1 个答案:

答案 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]);
}