【发布时间】:2020-11-19 22:28:47
【问题描述】:
首先我有三个班级:
Data.java:
public class Data {
public static List<String> studentdataget(){
List<String> studentData = new ArrayList<String>();
// Format:
// Name ; Number ; Subject
studentData.add("Quee;810283;MathI");
studentData.add("Hor;812227;Math I");
studentData.add("Oper;810369;Math II");
studentData.add("Graf;811090;MathI");
studentData.add("Ingri;811911;MathI");
学生.java:
public class Student {
private static String name = "";
private static int number = 0;
private static String subject = "";
public Student(String name, int number, String subject) {
this.name = name;
this.number = number;
this.subject = subject;
}
public static String getnumber(String segs) {
return number;
}
public static int getnumber(String segs) {
return number;
}
public static String getName() {
return name;
}
public void setsubject(String subject) {
this.subject = subject;
}
public void setnumber(int number) {
this.number = number;
}
public void setName(String name) {
this.name = name;
}
public String toString() {
String returnString = name + " (" + number + "), Subject: " + subject;
return returnString;
}
}
main.java:
public class main {
public static void main(String[] args) {
String path = "Name;number;subject";
String[] segs = path.split( Pattern.quote( ";" ) );
//System.out.println( (segs[2]));
HashMap<String, String> studentData = new HashMap<String, String>();
studentData.put(segs[1],segs[2]);
for (Map.Entry<String, String> pair: studentData.entrySet()) {
System.out.format("key: %s, value: %s\n", pair.getKey(), pair.getValue());
}
for(Map.Entry<String, String> pair: studentData.entrySet()) {
}
}
}
所以问题是我怎样才能从我的 Data.class 中放入我的第二个 for 循环列表? 我只想显示数字和主题这可能吗? 我尝试了很多方法,没有人让我找到解决方案..我希望有人能给我一个解决方案
【问题讨论】:
-
我猜你需要从
Data.java遍历你的studentDatalist 并且对于它的每个元素你需要进行字符串拆分(你为什么打电话它path?)。不确定您在main中使用该映射做什么(顺便说一句,Java 约定是所有类名都以大写字母开头) -
我不确定你想对我说什么 :) .. 我不知道如何才能填满它们。那么我不知道的是如何访问另一个类的数据?
-
所以你的
studentdataget来自Data被声明为public这意味着任何其他类都可以访问它,还有static这意味着你不需要@987654332 的实例@ 使用这种方法(对于这样的用例来说,这是一个非常糟糕的使用模式,但可以用于学习)。因此,您可以在main中执行以下操作:List<String> data = Data.studentdataget();并使用此列表。 -
感谢帮助我:)
-
是的,我现在明白了。
标签: java