java - 引用第二个数组

标签 java arrays

我有两个不同的数组

String[] student_name = {"Joe", "bryan", "moe", "zoe"};
String[] favColour = {"Blue", "Black", "White"};

我如何为学生分配颜色,如果我引用学生,我也能够获得他们最喜欢的颜色的详细信息?

例如,如果我想通过用户输入更改学生最喜欢的颜色

我知道我可以打印 favColourstudent_name student_name[0]favColour[0] 输出 Joe Blue

但我将来不会再提及 Joe Blue,因为 Joe 和 Blue 变量尚未连接

编辑我已经有一个for循环,现在我可以在其中输入学生数量和姓名

 String student_name[] = new String[totalstudents];

for(int i = 0; i < student_name.length;i++)
{

    System.out.println("Enter Student Names: "+i);
    student_name[i] = in.nextLine();
}

我如何为每个学生分配颜色,甚至为所有学生设置默认颜色? 谢谢

最佳答案

一种方法是使用从用户名映射到颜色的映射。

Map<String, String> studentFavouriteColor = new HashMap<>();
studentFavouriteColor.put("Joe", "Blue");
studentFavouriteColor.put("Zoe", "Red");

然后以学生为key就可以得到学生最喜欢的颜色。

String joesFavouriteColor = studentFavouriteColor.get("Joe"); // Gives "Blue".
<小时/>

更好的面向对象的方法是为概念学生创建一个类,并将最喜欢的颜色作为字段。

public class Student {
    public String name;
    public String favouriteColor;
    public Student(String name) {
        this.name = name;
    };
}

然后您可以设置并获取学生对象最喜欢的颜色。

Student joe = new Student("Joe");
joe.favouriteColor = "Blue";
Student zoe = new Student("Zoe");
zoe.favouriteColor = "Red";

String joesFavouriteColor = joe.favouriteColor; // Gives "Blue".

关于java - 引用第二个数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60845004/

相关文章:

java - iText - 如何将条形码添加到文档(com.itextpdf.text.Document)?

java - 为什么在添加到 HashSet 和 hashCode 匹配时不调用 equals()?

arrays - 如何使用 json 对象数组创建外部配置单元表

C 错误 "variable-sized object may not be initialized"

c# - 采用 List<T>[] 的 Action 委托(delegate)的问题

java - 远程启动Android SDK

java - Android Studio 如何使用 2d ArrayList 添加与成员 ArrayList 连接的组名称 ArrayList?

java - 使用定时器在java中安排任务

java - 2 个字节数组的最长公共(public)子序列

javascript - 尝试遍历数组,并添加额外的键值对,最后只有最后一个值