任务描述
实现:
package com.company;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// ask how many students we want to add
System.out.println("how many students you would like to add?\n");
Scanner in = new Scanner(System.in);
int n = in.nextInt();
Student[] students = new Student[n];
// Create a number of new students
for(int i=0;i<n;i++){
students[i]=new Student();
students[i].enroll();
students[i].payTuition();
}
for(int i=0;i<n;i++){
System.out.println(students[i].toString());
}
}
}
package com.company;
import java.util.Scanner;
public class Student {
private String firstName;
private String lastName;
private int gradeYear;
private String studentID;
private String courses="";
private int tuitionBalance = 0;
private static int costOfCourse = 600;
private static int id = 1000;
//Constructor: prompt user to enter student's name and year
public Student(){
Scanner in = new Scanner(System.in);
System.out.print("Enter student first name: ");
this.firstName = in.nextLine();
System.out.print("Enter student last name: ");
this.lastName = in.nextLine();
System.out.print("Enter student class level:\n1-Freshmen\n2-Sophomore\n3-Junior\n4-Senior\n");
this.gradeYear = in.nextInt();
setStudentID();
}
//Generate ID
private void setStudentID(){
//Grade Level + ID
id++;
this.studentID = gradeYear + "" +id;
}
//Enroll in courses
public void enroll(){
//get inside a loop, user hits 0 to exit
do{
System.out.println("Enter a course to enroll (Q to quit): ");
Scanner in = new Scanner(System.in);
String course = in.nextLine();
if(!course.equals("Q")){ //this is important
courses = courses + "\n" + course;
tuitionBalance = tuitionBalance+costOfCourse;
}
else{
System.out.println("BREAK\n");
break;
}
}while (true);
}
//View balance
public void viewBalance(){
System.out.println("Your balance is: $"+tuitionBalance);
}
//Pay tuition
public void payTuition(){
viewBalance();
System.out.println("Enter your payment: ");
Scanner in = new Scanner(System.in);
int payment = in.nextInt();
tuitionBalance = tuitionBalance - payment;
System.out.println("Thank you for payment of $ "+payment);
viewBalance();
}
//Show status
public String toString(){
return "Name: "+firstName+" "+lastName+"Grade Level: "+gradeYear+
"StudentID: "+ studentID+
"\nCourses Enrolled: "+ courses +
"\nBalance: "+ tuitionBalance;
}
}
运行结果
注意:
在比较String, Char 等类型时,不要想当然用 == 符号。
if(!course.equals("Q")){ //this is important