Java 将一个对象调用到另一个对象的数组列表中 class
Java calling an object into an arraylist of another class
好的,首先,我想提一下,这是为学校准备的,所以请不要编写任何修复我的代码的代码,因为那样不会教我任何东西。相反,如果我使用了不正确的术语,我正在寻找的是参考、解释和正确的术语。
所以我在这里遇到了一些问题。这是我需要做的,
*在 Student class 中包含以下方法:
一种。 B1 部分的每个实例变量的访问器(即 getter)
b. B1
部分中的每个实例变量的变元(即 setter)
注意:对 Student class 的实例变量的所有访问和更改都应该通过访问器和修改器方法。
c。使用所有输入参数的构造函数
d. print() 使用访问器(即 getters)
打印特定学生数据(例如,学生 ID、名字、姓氏)
使用以下包含所有 ArrayList 方法调用的方法创建学生花名册 class:
一种。 public static void remove(String studentID) 按学生 ID 从名册中删除学生
注意:如果学生 ID 不存在,该方法应打印一条错误消息,指示未找到它。
b。 public static void print_all() 使用访问器方法打印完整的制表符分隔的学生数据列表
注意:标签可以这样格式化:1 [tab] 名字:John [tab] 姓氏:Smith [tab] 年龄:20 [tab] 成绩:{88, 79, 59}。 print_all() 方法应该循环遍历学生数组列表中的所有学生,并为每个学生调用 print() 方法。
c。 public static void print_average_grade(String studentID) 按学生 ID 正确打印学生的平均成绩
d. public static void print_invalid_emails() 验证学生电子邮件地址并显示所有无效的电子邮件地址以供使用*
以上是我遇到问题的地方,数组列表、构造函数和调用名册中的学生 class class。
这是我的代码。
学生Class
/**
* Write a description of class Student here.
*
* @author (Richard Talcik)
* @version (v1 3/5/17)
*/
public class Student {
// initialize instance variables
private String csFirstName; //I am using cs infront of the name because this is a class variable and a string
private String csLastName;
private String csEmail;
private int ciAge;
private int ciStudentID;
private int[] ciaGrades; //cia for class, integer, array;
public Student(String sFirstName, String sLastName, String sEmail, int iAge, int iStudentID, String[] grades) {
//doing the consturctor
this.setFirstName(sFirstName);
this.setLastName(sLastName);
this.setEmail(sEmail);
this.setAge(iAge);
this.setStudentID(iStudentID);
this.setGrades(grades);
}
/**he methods to get and then followed by set
*/
public String getFirstName()
{
// put your code here
return csFirstName; //returning the value of the first name when called.
}
public String getLastName()
{
// put your code here
return csLastName;
}
public String getEmail()
{
// put your code here
return csEmail;
}
public int getStudentID()
{
// put your code here
return ciStudentID;
}
public int getAge()
{
// put your code here
return ciAge;
}
public int[] getGrades()
{
// put your code here
return ciaGrades;
}
// calling the sets from here on out
public void setFirstName(String newFirstName)
{
// put your code here
csFirstName = newFirstName;
//setting it
}
public void setLastName(String newLastName)
{
// put your code here
csLastName = newLastName;
//setting it
}
public void setEmail(String newEmail)
{
// put your code here
csEmail = newEmail;
//setting it
}
public void setAge(int newAge)
{
// put your code here
ciAge = newAge;
//setting it
}
public void setStudentID(int newStudentID)
{
// put your code here
ciStudentID = newStudentID;
//setting it
}
public void setGrades(int[] newGrades)
{
// put your code here
ciaGrades = newGrades;
//setting it
}
}
这个花名册 class 要求我在调用 Student stu = new Student(); 时添加参数;但是我不明白要在那里添加什么参数?
我也不太明白我将如何合并我的数组列表以从学生 class 那里添加我的 方法 ? (抱歉,如果我使用了错误的术语,请在需要时纠正我)
花名册Class
import java.util.ArrayList;
/**
* Write a description of class Roster here.
*
* @author (Richard Talcik)
* @version (v1)
*/
public class Roster {
// instance variables - replace the example below with your own
/**
* Constructor for objects of class Roster
*/
public static void main(String args[]) {
Student stu = new Student("John", "Smith", "John1989@gmail.com", 20, 1, Grades[1]);
ArrayList<Student> myRoster = new ArrayList<Student>();
myRoster.add(new Student("Suzan", "Erickson","Erickson_1990@gmailcom", 19, 2, [91,72,85]));
}
public static void remove(String studentID)
{
// put your code here
}
public static void print_all()
{
//do something
}
public static void print_average_grade(String studentID)
{
//do something
}
public static void print_invalid_emails()
{
//do something
}
}
请提供任何有助于解释这一点的教程,这将是非常值得的。
另外,我上三班,我的学校完全在线。在我醒着的时间里,我的导师不在或导师不在,电子邮件并不是真正最好的沟通方式,因为它需要几天时间才能回复。
您已经使用带参数的构造函数编写了 Student class。因此,在 Roaster class 中,您必须调用 Student class 的匹配构造函数。我的猜测是您不太理解我的回答。
我建议在 oracle 站点上寻找 java 教程,如果你能得到一本名为 The java programming language
的书就更好了
首先给初学者,不错:)
然而,当在 java 中使用 ArrayList 对象类型时,列表的类型必须是你希望放入 ArrayList 中的对象,即如果你想保留一个学生列表,那么你必须将它写成
AssrayList<Student> = new ArrayList<Student>();
您还可以将列表的大小指定为参数,但请记住,ArraList 会随着列表中添加和删除内容而动态增长。
就构造函数而言,您必须在内部添加您赋值的变量作为构造函数的参数。问题还指出,您必须使用访问器和增变器方法访问所有 class 对象,因为您现在使用构造函数的当前方式是不正确的,因为您直接将值分配给 class Student 的对象,你可以将其更改为类似于以下内容:
constructor (paramType param) {
mutatorMethod(param)
}
所以你的构造函数应该在
行中
Student(String name, String surname) {
setName(name)
setSurname(surname)
}
希望这对您有所帮助:)
好的,首先,我想提一下,这是为学校准备的,所以请不要编写任何修复我的代码的代码,因为那样不会教我任何东西。相反,如果我使用了不正确的术语,我正在寻找的是参考、解释和正确的术语。
所以我在这里遇到了一些问题。这是我需要做的,
*在 Student class 中包含以下方法: 一种。 B1 部分的每个实例变量的访问器(即 getter) b. B1
部分中的每个实例变量的变元(即 setter)注意:对 Student class 的实例变量的所有访问和更改都应该通过访问器和修改器方法。
c。使用所有输入参数的构造函数 d. print() 使用访问器(即 getters)
打印特定学生数据(例如,学生 ID、名字、姓氏)使用以下包含所有 ArrayList 方法调用的方法创建学生花名册 class: 一种。 public static void remove(String studentID) 按学生 ID 从名册中删除学生
注意:如果学生 ID 不存在,该方法应打印一条错误消息,指示未找到它。
b。 public static void print_all() 使用访问器方法打印完整的制表符分隔的学生数据列表
注意:标签可以这样格式化:1 [tab] 名字:John [tab] 姓氏:Smith [tab] 年龄:20 [tab] 成绩:{88, 79, 59}。 print_all() 方法应该循环遍历学生数组列表中的所有学生,并为每个学生调用 print() 方法。
c。 public static void print_average_grade(String studentID) 按学生 ID 正确打印学生的平均成绩 d. public static void print_invalid_emails() 验证学生电子邮件地址并显示所有无效的电子邮件地址以供使用*
以上是我遇到问题的地方,数组列表、构造函数和调用名册中的学生 class class。
这是我的代码。
学生Class
/**
* Write a description of class Student here.
*
* @author (Richard Talcik)
* @version (v1 3/5/17)
*/
public class Student {
// initialize instance variables
private String csFirstName; //I am using cs infront of the name because this is a class variable and a string
private String csLastName;
private String csEmail;
private int ciAge;
private int ciStudentID;
private int[] ciaGrades; //cia for class, integer, array;
public Student(String sFirstName, String sLastName, String sEmail, int iAge, int iStudentID, String[] grades) {
//doing the consturctor
this.setFirstName(sFirstName);
this.setLastName(sLastName);
this.setEmail(sEmail);
this.setAge(iAge);
this.setStudentID(iStudentID);
this.setGrades(grades);
}
/**he methods to get and then followed by set
*/
public String getFirstName()
{
// put your code here
return csFirstName; //returning the value of the first name when called.
}
public String getLastName()
{
// put your code here
return csLastName;
}
public String getEmail()
{
// put your code here
return csEmail;
}
public int getStudentID()
{
// put your code here
return ciStudentID;
}
public int getAge()
{
// put your code here
return ciAge;
}
public int[] getGrades()
{
// put your code here
return ciaGrades;
}
// calling the sets from here on out
public void setFirstName(String newFirstName)
{
// put your code here
csFirstName = newFirstName;
//setting it
}
public void setLastName(String newLastName)
{
// put your code here
csLastName = newLastName;
//setting it
}
public void setEmail(String newEmail)
{
// put your code here
csEmail = newEmail;
//setting it
}
public void setAge(int newAge)
{
// put your code here
ciAge = newAge;
//setting it
}
public void setStudentID(int newStudentID)
{
// put your code here
ciStudentID = newStudentID;
//setting it
}
public void setGrades(int[] newGrades)
{
// put your code here
ciaGrades = newGrades;
//setting it
}
}
这个花名册 class 要求我在调用 Student stu = new Student(); 时添加参数;但是我不明白要在那里添加什么参数? 我也不太明白我将如何合并我的数组列表以从学生 class 那里添加我的 方法 ? (抱歉,如果我使用了错误的术语,请在需要时纠正我)
花名册Class
import java.util.ArrayList;
/**
* Write a description of class Roster here.
*
* @author (Richard Talcik)
* @version (v1)
*/
public class Roster {
// instance variables - replace the example below with your own
/**
* Constructor for objects of class Roster
*/
public static void main(String args[]) {
Student stu = new Student("John", "Smith", "John1989@gmail.com", 20, 1, Grades[1]);
ArrayList<Student> myRoster = new ArrayList<Student>();
myRoster.add(new Student("Suzan", "Erickson","Erickson_1990@gmailcom", 19, 2, [91,72,85]));
}
public static void remove(String studentID)
{
// put your code here
}
public static void print_all()
{
//do something
}
public static void print_average_grade(String studentID)
{
//do something
}
public static void print_invalid_emails()
{
//do something
}
}
请提供任何有助于解释这一点的教程,这将是非常值得的。
另外,我上三班,我的学校完全在线。在我醒着的时间里,我的导师不在或导师不在,电子邮件并不是真正最好的沟通方式,因为它需要几天时间才能回复。
您已经使用带参数的构造函数编写了 Student class。因此,在 Roaster class 中,您必须调用 Student class 的匹配构造函数。我的猜测是您不太理解我的回答。 我建议在 oracle 站点上寻找 java 教程,如果你能得到一本名为 The java programming language
的书就更好了首先给初学者,不错:) 然而,当在 java 中使用 ArrayList 对象类型时,列表的类型必须是你希望放入 ArrayList 中的对象,即如果你想保留一个学生列表,那么你必须将它写成
AssrayList<Student> = new ArrayList<Student>();
您还可以将列表的大小指定为参数,但请记住,ArraList 会随着列表中添加和删除内容而动态增长。
就构造函数而言,您必须在内部添加您赋值的变量作为构造函数的参数。问题还指出,您必须使用访问器和增变器方法访问所有 class 对象,因为您现在使用构造函数的当前方式是不正确的,因为您直接将值分配给 class Student 的对象,你可以将其更改为类似于以下内容:
constructor (paramType param) {
mutatorMethod(param)
}
所以你的构造函数应该在
行中Student(String name, String surname) {
setName(name)
setSurname(surname)
}
希望这对您有所帮助:)