【发布时间】:2015-05-09 13:37:16
【问题描述】:
我正在尝试使用Scanner 从用户那里获取多个数据以获取主题详细信息。例如:用户输入数字 3 然后用户必须输入主题名称、主题代码和主题费用 3 次,我希望将详细信息存储在数组中并最后显示。
编辑: 感谢@Ksap,代码运行良好,但小问题是不显示输入的第一个值(null),只显示最后一个输入。 截图:
到目前为止,这是主题类:
public class Subject {
public String[] subjectName;
public String[] subjectCode;
public Double[] subjectFee;
//default constructor
Subject(){
}
Subject(String[] subjectCode, String[] subjectName, Double[] subjectFee){
this.subjectCode = subjectCode;
this.subjectName = subjectName;
this.subjectFee = subjectFee;
}
//**********************************Setter Methods******************************\\
public void setSubjectCode(String[] subjectCode){
this.subjectCode=subjectCode;
}
public void setSubjectName(String[] subjectName){
this.subjectName=subjectName;
}
public void setSubjectFee(Double[] subjectFee){
this.subjectFee=subjectFee;
}
//**********************************Getter Methods******************************\\
public String[] getSubjectCode(){
return subjectCode;
}
public String[] getSubjectName(){
return subjectName;
}
public double[] getSubjectFee(){
return subjectFee;
}
}
和 SubjectDriver:
public class SubjectDriver {
public static void main(String[] args) {
int subjectAmount;
Subject a = new Subject();
Scanner input = new Scanner(System.in);
System.out
.println("Please input the amount of subjects are you resposible for ?( Maximum 4)");
subjectAmount = Integer.parseInt(input.nextLine());
a.subjectName = new String[subjectAmount];
a.subjectCode = new String[subjectAmount];
a.subjectFee = new Double[subjectAmount];
for (int index = 0; index < subjectAmount; index++) {
System.out.println("enter subject name: ");
a.subjectName[index] = input.nextLine();;
System.out.println("enter subject code: ");
a.subjectCode[index] = input.nextLine();
System.out.println("enter subject fee: ");
a.subjectFee[index] = Double.parseDouble(input.nextLine());
}
System.out.println("Subject name: " + Arrays.asList(a.getSubjectName())
+ "\nSubject Code: " + Arrays.asList(a.getSubjectCode()) + "\nSubject fee: "
+ Arrays.asList(a.getSubjectFee()));
}
}
您的帮助将非常显着
【问题讨论】:
-
它给出的错误是什么?
-
为什么不使用数组而不是使用
ArrayList -
你有什么问题..?
-
此错误:praactiveArray.SubjectDriver.main(SubjectDriver.java:20) 处的线程“main”java.lang.NullPointerException 中出现异常
标签: java arrays string methods