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

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

最佳答案

那是因为排名只是一个数字*。您需要使用该数字作为 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/

相关文章:

java - 如何加快获取图像和文本的jdbc sql查询速度

java - 如何更改抽屉导航部分标题的颜色

java - 图库不会显示已保存的图像

java - ArrayList 未填充

Java Double 与 double : class type vs primitive type

java - 如何实现Hashmap/ArrayList的列表

java - 使用递归方法查找所有路径

java - 参数是@Test 需要的,但没有被标记为@optional 或定义

java - 如何使用 Java 中同一类中的另一个 setter 为 setter 赋值

java - 获取最新的推文并存储它 twitter4j