我正在编写一个程序,该程序应该允许用户进入学校课程。但是,有几个问题。
这是它应该如何工作:
请从以下选项中进行选择:
- 添加课程
- 将学生添加到课程
- 查看可用课程
- 退出系统
醇>
这不会存储到文件中,因此我不确定如何将课程保存在内存中。无论如何,这就是我所拥有的。
if(userChoice==1)
{
System.out.println("Enter the Course Number: ");
int courseNum=scan.nextInt();
System.out.println("Enter the Course Title: ");
String courseTitle=scan.next();
System.out.println("Enter the Max Number Allowed Students: ");
int courseMaxSize = scan.nextInt();
System.out.println("Course Number is "+courseNum);
System.out.println("Course Title is "+courseTitle);
System.out.println("Max Number of Students is "+courseMaxSize);
SchoolClass nc = new SchoolClass(courseNum,courseTitle,courseMaxSize);
ArrayList<SchoolClass> courseArr=new ArrayList<SchoolClass>();
courseArr.add(nc);
System.out.println(courseArr.get(0).getCourseTitle()+" "+courseArr.get(0).getCourseNumber()+" "+courseArr.get(0).getMaxStudents());
System.out.println(courseArr.size());
我的SchoolClass
课程如下:
int courseNumber,maxPeers;
String course="";
public SchoolClass(int courseNum, String courseTitle, int maxStudents)
{
courseNumber=courseNum;
course=courseTitle;
maxPeers=maxStudents;
}
public int getCourseNumber()
{
return courseNumber;
}
public int getMaxStudents()
{
return maxPeers;
}
public String getCourseTitle()
{
return course;
}
我还没有为选项2,3,4编写代码。只是寻找一点帮助让我继续前进。
答案 0 :(得分:5)
首先,由于某种原因,我不能让它为课程标题取一个以上的单词。
这是因为你的代码确实:
System.out.println("Enter the Course Title: ");
String courseTitle = scan.next();
应该是scan.nextLine()
。 documentation for Scanner
说:
扫描程序使用分隔符模式将其输入分解为标记,分隔符模式默认匹配空格。
.next()
抓住一个令牌。
其次,它不是“永久地”将这些类添加到arraylist中吗?
这是因为您的列表是在if
分支中创建的:
if (userChoice == 1) {
// ....
ArrayList<SchoolClass> courseArr = new ArrayList<SchoolClass>();
courseArr.add(nc);
// ...
}
// "courseArr" does not exist anymore here
你必须从这个if
分支创建你的列表(也可能是在封闭循环之外,它抓住了用户的选择)。
答案 1 :(得分:0)
ArrayList<SchoolClass> courseArr=new ArrayList<SchoolClass>();
if(userChoice==1)
{
System.out.println("Enter the Course Number: ");
int courseNum=scan.nextInt();
System.out.println("Enter the Course Title: ");
String courseTitle=scan.nextLine();
System.out.println("Enter the Max Number Allowed Students: ");
int courseMaxSize = scan.nextInt();
System.out.println("Course Number is "+courseNum);
System.out.println("Course Title is "+courseTitle);
System.out.println("Max Number of Students is "+courseMaxSize);
SchoolClass nc = new SchoolClass(courseNum,courseTitle,courseMaxSize);
courseArr.add(nc);
System.out.println(courseArr.get(0).getCourseTitle()+" "+courseArr.get(0).getCourseNumber()+" "+courseArr.get(0).getMaxStudents());
System.out.println(courseArr.size());
答案 2 :(得分:0)
创建SchoolClass
对象
SchoolClass sc=new SchoolClass ();
从输入中设置值。
sc.setcourseNumber(2);
sc.setCourseTitle("Maths");
sc.setMaxStudents(3);
然后创建您的ArrayList
ArrayList<SchoolClass> list=new ArrayList<>();
现在设置列表值
list.add(sc);