- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试创建一个数据库(作为 ArrayList),用于存储学生的信息(对象数组),但是我遇到了“addStudent()”函数的问题,因为它似乎只利用最新的通过调用函数创建的数组。我知道我可能错过了眼前的一些东西,但我已经开始过度思考,我相信并认为我需要一双新的眼睛。任何帮助是极大的赞赏。我还想问,如果您对我需要实现的代码有任何指示,以便执行我试图通过该程序实现的操作,请继续友善地指出这些。多谢你们。我的代码是:
import java.util.ArrayList;
import java.util.Arrays;
import java.util.LinkedList;
import java.util.List;
public class Record {
// Create an array to hold the Student's info & List to hold those student's
static Object[] student = new Object[10];
static List<Object> database = new ArrayList<Object>();
// Create Student's info variables
private int studentID;
private String lastName;
private String firstName;
private long phoneNumber;
private String major;
private double gpa;
private int birthYear;
private String birthMonth;
private int birthDay;
private String homeAddress;
/* For FUTURE tasks */
public void setStudentID( int idGiven ) {
studentID = idGiven;
}
public void setLastName( String lastNameGiven ) {
lastName = lastNameGiven;
}
public void setFirstName( String firstNameGiven ) {
firstName = firstNameGiven;
}
public void setPhoneNumber( long numGiven ) {
phoneNumber = numGiven;
}
public void setMajor( String majorGiven ) {
major = majorGiven;
}
public void setGPA( double gpaGiven ) {
gpa = gpaGiven;
}
public void setBirthYear( int birthYearGiven ) {
birthYear = birthYearGiven;
}
public void setBirthMonth( String birthMonthGiven ) {
birthMonth = birthMonthGiven;
}
public void setBirthDay( int birthDayGiven ) {
birthDay = birthDayGiven;
}
public void setHomeAddress( String homeAddressGiven ) {
homeAddress = homeAddressGiven;
}
// Function to create new student when one is entered
static public Object[] newStudent( int newStudentID, String newLastName, String newFirstName, long newPhoneNumber, String newMajor, double newGPA, int newBirthYear, String newBirthMonth, int newBirthDay, String newHomeAddress )
{
student[0] = newStudentID;
student[1] = newLastName;
student[2] = newFirstName;
student[3] = newPhoneNumber;
student[4] = newMajor;
student[5] = newGPA;
student[6] = newBirthYear;
student[7] = newBirthMonth;
student[8] = newBirthDay;
student[9] = newHomeAddress;
database.addAll(Arrays.asList(student));
return student;
}
// Create Function to add the student array to the database list
static public List<Object> addStudent ( Object[] s ) {
student = s;
database.add(student);
return database;
}
// Test Program
public static void main( String [] args )
{
Object[] student1 = Record.newStudent(00000000, "Thomas", "Luke", 9038189888L, "Computer Science", 4.00, 1997, "February", 28, "169 Karen Dr.");
Object[] student2 = Record.newStudent(00000001, "Doe", "Jane", 5802679999L, "Mathematics", 3.62, 1990, "March", 1, "100 Circle Dr.");
Object[] student3 = Record.newStudent(00000002, "Baker", "Joe", 9805776452L, "Safety", 2.75, 1998, "December", 7, "200 Circle Dr.");
//Object[] student4 = Record.newStudent(00000003, "Williams", "Doug", 9407778888L, "Business", 1.95, 2000, "May", 7, "501 West Maple St.");
Record.addStudent(student1);
Record.addStudent(student2);
Record.addStudent(student3);
//Record.addStudent(student4);
//Print out Student1's Info from the created student & from its index in the List containing all students
System.out.println(Arrays.toString(student1));
System.out.println(database.get(0));
/* PERFORM TASKS:
* 1. delete record(s) from student id
* 2. list all student info in the order they were saved
* 3. Reorder/organize student info ascending & descending by id, gpa, or birthday
* 4. list students in a given major or given id
*/
}
}
最佳答案
“如果”你绝对只能使用数组
来存储学生信息,这对我来说似乎是错误的,那么在newStudent
中,你必须每次创建一个新数组时间
static public Object[] newStudent( int newStudentID, String newLastName, String newFirstName, long newPhoneNumber, String newMajor, double newGPA, int newBirthYear, String newBirthMonth, int newBirthDay, String newHomeAddress )
{
Object[] student = new Object[10];
student[0] = newStudentID;
student[1] = newLastName;
student[2] = newFirstName;
student[3] = newPhoneNumber;
student[4] = newMajor;
student[5] = newGPA;
student[6] = newBirthYear;
student[7] = newBirthMonth;
student[8] = newBirthDay;
student[9] = newHomeAddress;
database.add(student);
return student;
}
然后您应该将整个数组(按原样)添加到 ArrayList
然而,这对我来说似乎违反直觉。相反,您应该从“学生”的概念开始,例如......
public class Student {
private int studentID;
private String lastName;
private String firstName;
private long phoneNumber;
private String major;
private double gpa;
private int birthYear;
private String birthMonth;
private int birthDay;
private String homeAddress;
public Student(int studentID, String lastName, String firstName, long phoneNumber, String major, double gpa, int birthYear, String birthMonth, int birthDay, String homeAddress) {
this.studentID = studentID;
this.lastName = lastName;
this.firstName = firstName;
this.phoneNumber = phoneNumber;
this.major = major;
this.gpa = gpa;
this.birthYear = birthYear;
this.birthMonth = birthMonth;
this.birthDay = birthDay;
this.homeAddress = homeAddress;
}
public int getStudentID() {
return studentID;
}
public String getLastName() {
return lastName;
}
public String getFirstName() {
return firstName;
}
public long getPhoneNumber() {
return phoneNumber;
}
public String getMajor() {
return major;
}
public double getGpa() {
return gpa;
}
public int getBirthYear() {
return birthYear;
}
public String getBirthMonth() {
return birthMonth;
}
public int getBirthDay() {
return birthDay;
}
public String getHomeAddress() {
return homeAddress;
}
@Override
public String toString() {
return "Student{" + "studentID=" + studentID + ", lastName=" + lastName + ", firstName=" + firstName + ", phoneNumber=" + phoneNumber + ", major=" + major + ", gpa=" + gpa + ", birthYear=" + birthYear + ", birthMonth=" + birthMonth + ", birthDay=" + birthDay + ", homeAddress=" + homeAddress + '}';
}
}
然后可以通过某种“数据库”进行管理......
public class Database {
private List<Student> records;
public Database() {
records = new ArrayList<>(25);
}
public void add(Student student) {
// First make sure there are a no duplictes
records.add(student);
}
public Student get(int at) {
return records.get(at);
}
public Student remove(int at) {
return records.remove(at);
}
public int size() {
return records.size();
}
}
就我个人而言,我会使用Database
来创建Student
的新实例,但我可能已经偏离主题了
然后你可以使用它,比如......
Database database = new Database();
database.add(new Student(00000000, "Thomas", "Luke", 9038189888L, "Computer Science", 4.00, 1997, "February", 28, "169 Karen Dr."));
database.add(new Student(00000001, "Doe", "Jane", 5802679999L, "Mathematics", 3.62, 1990, "March", 1, "100 Circle Dr."));
database.add(new Student(00000002, "Baker", "Joe", 9805776452L, "Safety", 2.75, 1998, "December", 7, "200 Circle Dr."));
//Print out Student1's Info from the created student & from its index in the List containing all students
for (int index = 0; index < database.size(); index++) {
System.out.println(database.get(index));
}
这会打印出类似...的内容
Student{studentID=0, lastName=Thomas, firstName=Luke, phoneNumber=9038189888, major=Computer Science, gpa=4.0, birthYear=1997, birthMonth=February, birthDay=28, homeAddress=169 Karen Dr.}
Student{studentID=1, lastName=Doe, firstName=Jane, phoneNumber=5802679999, major=Mathematics, gpa=3.62, birthYear=1990, birthMonth=March, birthDay=1, homeAddress=100 Circle Dr.}
Student{studentID=2, lastName=Baker, firstName=Joe, phoneNumber=9805776452, major=Safety, gpa=2.75, birthYear=1998, birthMonth=December, birthDay=7, homeAddress=200 Circle Dr.}
关于java - 尝试创建一个我可以进一步操作的学生数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59245471/
在parser.h中: typedef enum _SEX {MALE = 'M', FEMALE = 'F', OTHER = 'O'} SEX; struct course { char gra
共有三个实体: School, teacher and student 有一些规则: 一个学生只能属于一位老师 一名学生只能属于一所学校 一名教师可以属于一所或多所学校 这意味着我的表中有这些关系:
关闭。这个问题需要更多focused .它目前不接受答案。 想改进这个问题吗? 更新问题,使其只关注一个问题 editing this post . 关闭 2 年前。 Improve this qu
我正在构建一个涉及学生和顾问的 Web 应用程序。学生将选择他的独立学习,顾问将对其进行监督。我正在努力为我的程序找到正确的关系。 基本上我的应用程序中的参与者是。 a Student can sel
支持Python的IDE有IPython、Aptana Studio(在Eclipse的基础上加插件集改的)、PyCharm(由 JetBrains 打造的一款 Python IDE,支持 macO
我对 sql 和 Stack Overflow 非常陌生。我希望有人可以帮助我解决这个问题。我的查询应该显示销售额超过 200,000 美元的类别的总销售额和已售商品总数。我已经研究这个查询一个小时了
public class Menu extends Activity { /** Called when the activity is first created. */ public
当我在 R 中运行学生 t-分布时,我得到以下结果: > pt(1.849, 2, lower.tail=FALSE) [1] 0.1028493 当我运行 Apache Commons Math 库
我的机器人实验室正在寻找程序员来从事我们目前的一些项目。 我们确定了要求(主要是 C++ 和 openGL 和 3D 经验),但由于明显的资金限制,我们无力聘请优秀的开发人员。相反,我们将满足于有才华
我正在努力完成一个使用替换密码来编码和解码 txt 文件的程序。经过相当多的工作,我的程序几乎完成了。该程序首先询问用户是否要对文件进行编码或解码。回答这个问题后,程序会提示用户输入正在输入的文件的名
我是一个刚开始编程的菜鸟,我想知道为什么我会收到一条错误消息:非静态数据成员“Lavirint::n”的使用无效? class Lavirint{ private: int n, m;
该项目的目标是创建四个类:Student 类、GradStudent 类、Manager 类和 GUI 类。 GUI 中有两个单选按钮:一个用于学生,一个用于研究生。根据选择的对象,Manager 类
我正在尝试向学生、教师和家长 Activity 实现抽屉导航 Activity ,但它不起作用,请指导我如何在登录后向不同角色的用户添加抽屉导航。 最佳答案 您需要在 中自定义布局像这样:
我是 JS 的新手,甚至是 Jquery 和 fullcalendar 的新手。我创建了一个单独在页面上运行良好的日历。我正在尝试将此代码与另一个页面结合使用,但我无法让日历呈现。 首先我包含一些文件
我正在开发一个简单的 Linux Shell,它可以 fork() 并调用 execvp(),但我最近添加了不需要 fork() 的“内置函数”。 这是执行处理: if (strcmp(cmd
我在使用分配给我的这个初学者 Java 程序时遇到了麻烦,我是 Java 的新手,而且我在使用这个特定程序时遇到了很多麻烦。这些是说明: Your program should prompt user
在下面的代码块中,有几个(故意的)错误,我的任务是找到它们并解释这些错误是否会导致编译代码时出现问题,或者至少会导致一些逻辑问题。 public class Person { private St
我想加载一个文件,将其内容拆分为数组,然后将类应用到内容。 class Student def initialize( name, grade ) @name = name
我有 3 个实体:导师、学生、类(class) 导师教授许多类(class) 学生可以被分配到由多名导师教授的许多类(class) 导师和学生需要能够登录系统 我想使用下表来表示此设计: users
我想弄清楚这里的填充是否可调 这是 HTML: {block:IfHeaderImage} {/block:IfHeaderImage} {block:IfNot
我是一名优秀的程序员,十分优秀!