Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/311.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java “转换为单独的”;“双”字;将值放入ArrayList中的数组中_Java_Arrays_Arraylist - Fatal编程技术网

Java “转换为单独的”;“双”字;将值放入ArrayList中的数组中

Java “转换为单独的”;“双”字;将值放入ArrayList中的数组中,java,arrays,arraylist,Java,Arrays,Arraylist,我创建了一个程序,其中包含一个ArrayList,其中包含学生成绩的分隔“双”值。然而,本课程要求创建分数的整数数组,而不是我以前使用的单独值 我的学生课程代码(我删除了不相关的代码以切入主题): 排班班: import java.util.ArrayList; public class Roster { static ArrayList<Student> studentArray; public Roster(ArrayList<Student> a

我创建了一个程序,其中包含一个ArrayList,其中包含学生成绩的分隔“双”值。然而,本课程要求创建分数的整数数组,而不是我以前使用的单独值

我的学生课程代码(我删除了不相关的代码以切入主题):

排班班:

import java.util.ArrayList;

public class Roster {
    static ArrayList<Student> studentArray;

    public Roster(ArrayList<Student> ar) {
        studentArray = ar;
    }

    // 3.C - Print Average Grade
    public static void print_average_grade(String studentID) {
        for (Student v : studentArray) {
            if (v.getStuID().equals(studentID)) {
                double total = v.getGrade1() + v.getGrade2() + v.getGrade3();
                double average = total / 3;
                System.out.println("Student ID#" + studentID + " Grade AVG= " + average);
            }
        }
    }

    public static void main(String[] args) {

        ArrayList<Student> studentArray = new ArrayList<Student>();

        studentArray.add(new Student("1", "John", "Smith", "John1989@gmail.com", 20, 88, 79, 59));
        studentArray.add(new Student("2", "Susan", "Erickson", "Erickson_1990@gmailcom", 19, 91, 72, 85));
        studentArray.add(new Student("3", "Jack", "Napoli", "The_lawyer99yahoo.com", 19, 85, 84, 87));
        studentArray.add(new Student("4", "Erin", "Black", "Erin.black@comcast.net", 22, 91, 98, 82));
        studentArray.add(new Student("5", "Captain", "Planet", "PowIsYours@planet.edu", 65, 99, 98, 97));

        new Roster(studentArray);
        for (Student v : studentArray) {
            print_average_grade(v.getStuID());
        }
    }
}
import java.util.ArrayList;

public class Roster {
    ArrayList<Student> studentArray;

    public Roster(ArrayList<Student> ar) {
        studentArray = ar;
    }

    // 3.C - Print Average Grade
    public void print_average_grade(String studentID) {
        for (Student v : studentArray) {
            if (v.getStuID().equals(studentID)) {
                double total = v.getGrades()[0] + v.getGrades()[1] + v.getGrades()[2];
                double average = total / 3;
                System.out.println("Student ID#" + studentID + " Grade AVG= " + average);
            }
        }
    }

    public static void main(String[] args) {

        ArrayList<Student> studentArray = new ArrayList<Student>();

        int[] grades1 = {88, 79, 59};
        int[] grades2 = {91, 72, 85};
        int[] grades3 = {85, 84, 87};
        int[] grades4 = {91, 98, 82};
        int[] grades5 = {99, 98, 97};

        studentArray.add(new Student("1", "John", "Smith", "John1989@gmail.com", 20, grades1));
        studentArray.add(new Student("2", "Susan", "Erickson", "Erickson_1990@gmailcom", 19, grades2));
        studentArray.add(new Student("3", "Jack", "Napoli", "The_lawyer99yahoo.com", 19, grades3));
        studentArray.add(new Student("4", "Erin", "Black", "Erin.black@comcast.net", 22, grades4));
        studentArray.add(new Student("5", "Captain", "Planet", "PowIsYours@planet.edu", 65, grades5));

        Roster r = new Roster(studentArray);
        for (Student v : studentArray) {
            r.print_average_grade(v.getStuID());
        }
    }
}
import java.util.ArrayList;
公共班级名册{
静态阵列列表学生阵列;
公共名册(ArrayList ar){
学生阵列=ar;
}
//3.C-打印平均成绩
公共静态无效打印平均分数(字符串studentID){
对于(学生v:学生阵列){
如果(v.getStuID().equals(studentID)){
双倍总计=v.GetGrade 1()+v.GetGrade 2()+v.GetGrade 3();
双倍平均值=总数/3;
System.out.println(“学生ID”#“+studentID+”平均成绩=“+average”);
}
}
}
公共静态void main(字符串[]args){
ArrayList studentArray=新的ArrayList();
添加(新学生(“1”、“约翰”、“史密斯”)、“John1989@gmail.com", 20, 88, 79, 59));
添加(新学生(“2”、“Susan”、“Erickson”、“Erickson”)_1990@gmailcom", 19, 91, 72, 85));
添加(新学生(“3”,“杰克”,“那不勒斯”,“The_lawyer99yahoo.com”,19,85,84,87));
学生阵列。添加(新学生(“4”、“艾琳”、“黑色”、“艾琳”)。black@comcast.net", 22, 91, 98, 82));
学生阵列。添加(新学生(“5”、“船长”、“星球”),”PowIsYours@planet.edu", 65, 99, 98, 97));
新名册(学生宿舍);
对于(学生v:学生阵列){
打印平均分数(v.getStuID());
}
}
}
我已经将分离的值(Grade1、Grade2、Grade3)更改为“int[]Grades”数组,修改了构造函数,并添加了setter和getter。所以,我认为学生班很好去,然而花名册班,是我卡住的地方。两件事:

1) 如何将等级的值添加到现在是ArrayList一部分的数组中

2) 我如何调整我的AVG Grade方法以执行与以前相同的任务,但使用数组的值

任何帮助都将是巨大的,因为我已经被困在这几天了

谢谢


另外,如果发布完整的代码会更容易,我将很乐意发布它,以获得有关此问题的任何帮助。

我尝试根据两个要求(数组、平均值)修复您的代码。请参阅以下代码(我已经测试过)

学生班级:

public class Student {

    String StuID;
    String FName;
    String LName;
    String Email;
    int Age;
    private int[] Grades = new int[3];

    public Student(String stuid, String fname, String lname, String email, int age, int[] grades) {
        this.StuID = stuid;
        this.FName = fname;
        this.LName = lname;
        this.Email = email;
        this.Grades = grades;
    }

    public int[] getGrades() {
        return Grades;
    }

    public void setGrades(int[] grades) {
        Grades = grades;
    }

    public String toString() {
        return String.format("StuID: %s\t First Name: %s\t Last Name: %s\t E-Mail: %s\t Age: %s\t Grades: %s\t", this.StuID, this.FName, this.LName, this.Email, this.Age, this.Grades);
    }

    public String getFName() {
        return FName;
    }

    public void setFName(String fName) {
        FName = fName;
    }

    public String getEmail() {
        return Email;
    }

    public void setEmail(String email) {
        Email = email;
    }

    public int getAge() {
        return Age;
    }

    public void setAge(int age) {
        Age = age;
    }

    public String getStuID() {
        return StuID;
    }

    public void setStuID(String stuID) {
        StuID = stuID;
    }

    public String getLName() {
        return LName;
    }

    public void setLName(String lName) {
        LName = lName;
    }
}
排班班:

import java.util.ArrayList;

public class Roster {
    static ArrayList<Student> studentArray;

    public Roster(ArrayList<Student> ar) {
        studentArray = ar;
    }

    // 3.C - Print Average Grade
    public static void print_average_grade(String studentID) {
        for (Student v : studentArray) {
            if (v.getStuID().equals(studentID)) {
                double total = v.getGrade1() + v.getGrade2() + v.getGrade3();
                double average = total / 3;
                System.out.println("Student ID#" + studentID + " Grade AVG= " + average);
            }
        }
    }

    public static void main(String[] args) {

        ArrayList<Student> studentArray = new ArrayList<Student>();

        studentArray.add(new Student("1", "John", "Smith", "John1989@gmail.com", 20, 88, 79, 59));
        studentArray.add(new Student("2", "Susan", "Erickson", "Erickson_1990@gmailcom", 19, 91, 72, 85));
        studentArray.add(new Student("3", "Jack", "Napoli", "The_lawyer99yahoo.com", 19, 85, 84, 87));
        studentArray.add(new Student("4", "Erin", "Black", "Erin.black@comcast.net", 22, 91, 98, 82));
        studentArray.add(new Student("5", "Captain", "Planet", "PowIsYours@planet.edu", 65, 99, 98, 97));

        new Roster(studentArray);
        for (Student v : studentArray) {
            print_average_grade(v.getStuID());
        }
    }
}
import java.util.ArrayList;

public class Roster {
    ArrayList<Student> studentArray;

    public Roster(ArrayList<Student> ar) {
        studentArray = ar;
    }

    // 3.C - Print Average Grade
    public void print_average_grade(String studentID) {
        for (Student v : studentArray) {
            if (v.getStuID().equals(studentID)) {
                double total = v.getGrades()[0] + v.getGrades()[1] + v.getGrades()[2];
                double average = total / 3;
                System.out.println("Student ID#" + studentID + " Grade AVG= " + average);
            }
        }
    }

    public static void main(String[] args) {

        ArrayList<Student> studentArray = new ArrayList<Student>();

        int[] grades1 = {88, 79, 59};
        int[] grades2 = {91, 72, 85};
        int[] grades3 = {85, 84, 87};
        int[] grades4 = {91, 98, 82};
        int[] grades5 = {99, 98, 97};

        studentArray.add(new Student("1", "John", "Smith", "John1989@gmail.com", 20, grades1));
        studentArray.add(new Student("2", "Susan", "Erickson", "Erickson_1990@gmailcom", 19, grades2));
        studentArray.add(new Student("3", "Jack", "Napoli", "The_lawyer99yahoo.com", 19, grades3));
        studentArray.add(new Student("4", "Erin", "Black", "Erin.black@comcast.net", 22, grades4));
        studentArray.add(new Student("5", "Captain", "Planet", "PowIsYours@planet.edu", 65, grades5));

        Roster r = new Roster(studentArray);
        for (Student v : studentArray) {
            r.print_average_grade(v.getStuID());
        }
    }
}

我试图根据两个要求(数组、平均值)修复您的代码。请参阅以下代码(我已经测试过)

学生班级:

public class Student {

    String StuID;
    String FName;
    String LName;
    String Email;
    int Age;
    private int[] Grades = new int[3];

    public Student(String stuid, String fname, String lname, String email, int age, int[] grades) {
        this.StuID = stuid;
        this.FName = fname;
        this.LName = lname;
        this.Email = email;
        this.Grades = grades;
    }

    public int[] getGrades() {
        return Grades;
    }

    public void setGrades(int[] grades) {
        Grades = grades;
    }

    public String toString() {
        return String.format("StuID: %s\t First Name: %s\t Last Name: %s\t E-Mail: %s\t Age: %s\t Grades: %s\t", this.StuID, this.FName, this.LName, this.Email, this.Age, this.Grades);
    }

    public String getFName() {
        return FName;
    }

    public void setFName(String fName) {
        FName = fName;
    }

    public String getEmail() {
        return Email;
    }

    public void setEmail(String email) {
        Email = email;
    }

    public int getAge() {
        return Age;
    }

    public void setAge(int age) {
        Age = age;
    }

    public String getStuID() {
        return StuID;
    }

    public void setStuID(String stuID) {
        StuID = stuID;
    }

    public String getLName() {
        return LName;
    }

    public void setLName(String lName) {
        LName = lName;
    }
}
排班班:

import java.util.ArrayList;

public class Roster {
    static ArrayList<Student> studentArray;

    public Roster(ArrayList<Student> ar) {
        studentArray = ar;
    }

    // 3.C - Print Average Grade
    public static void print_average_grade(String studentID) {
        for (Student v : studentArray) {
            if (v.getStuID().equals(studentID)) {
                double total = v.getGrade1() + v.getGrade2() + v.getGrade3();
                double average = total / 3;
                System.out.println("Student ID#" + studentID + " Grade AVG= " + average);
            }
        }
    }

    public static void main(String[] args) {

        ArrayList<Student> studentArray = new ArrayList<Student>();

        studentArray.add(new Student("1", "John", "Smith", "John1989@gmail.com", 20, 88, 79, 59));
        studentArray.add(new Student("2", "Susan", "Erickson", "Erickson_1990@gmailcom", 19, 91, 72, 85));
        studentArray.add(new Student("3", "Jack", "Napoli", "The_lawyer99yahoo.com", 19, 85, 84, 87));
        studentArray.add(new Student("4", "Erin", "Black", "Erin.black@comcast.net", 22, 91, 98, 82));
        studentArray.add(new Student("5", "Captain", "Planet", "PowIsYours@planet.edu", 65, 99, 98, 97));

        new Roster(studentArray);
        for (Student v : studentArray) {
            print_average_grade(v.getStuID());
        }
    }
}
import java.util.ArrayList;

public class Roster {
    ArrayList<Student> studentArray;

    public Roster(ArrayList<Student> ar) {
        studentArray = ar;
    }

    // 3.C - Print Average Grade
    public void print_average_grade(String studentID) {
        for (Student v : studentArray) {
            if (v.getStuID().equals(studentID)) {
                double total = v.getGrades()[0] + v.getGrades()[1] + v.getGrades()[2];
                double average = total / 3;
                System.out.println("Student ID#" + studentID + " Grade AVG= " + average);
            }
        }
    }

    public static void main(String[] args) {

        ArrayList<Student> studentArray = new ArrayList<Student>();

        int[] grades1 = {88, 79, 59};
        int[] grades2 = {91, 72, 85};
        int[] grades3 = {85, 84, 87};
        int[] grades4 = {91, 98, 82};
        int[] grades5 = {99, 98, 97};

        studentArray.add(new Student("1", "John", "Smith", "John1989@gmail.com", 20, grades1));
        studentArray.add(new Student("2", "Susan", "Erickson", "Erickson_1990@gmailcom", 19, grades2));
        studentArray.add(new Student("3", "Jack", "Napoli", "The_lawyer99yahoo.com", 19, grades3));
        studentArray.add(new Student("4", "Erin", "Black", "Erin.black@comcast.net", 22, grades4));
        studentArray.add(new Student("5", "Captain", "Planet", "PowIsYours@planet.edu", 65, grades5));

        Roster r = new Roster(studentArray);
        for (Student v : studentArray) {
            r.print_average_grade(v.getStuID());
        }
    }
}

下面是我如何做同样的项目。我的仍在评分中,所以我不知道第一次是否会通过。但也许我的分享会对某人有所帮助

import java.util.ArrayList;

public class Roster {

   public static ArrayList<Student> students = new ArrayList<>();   

    public static void main(String[] args)
    {
        // input student grades
        int[] grade0 = {0,0,0}; // filler to make grade array equal to student ID
        int[] grade1 = {88, 79, 59};
        int[] grade2 = {91, 72, 85};
        int[] grade3 = {85, 84, 87};
        int[] grade4 = {91, 98, 82};
        int[] grade5 = {99, 98, 97};

        // input student info
        addStudent(0, "null", "null", "null@null.com", 0, grade0); // filler to align student ID with array number
        addStudent(1, "John", "Smith", "John1989@gmail.com", 20, grade1);
        addStudent(2, "Suzan", "Erickson", "Erickson_1990@gmailcom", 19, grade2);
        addStudent(3, "Jack", "Napoli", "The_lawyer99yahoo.com", 19, grade3);
        addStudent(4, "Erin", "Black", "Erin.black@comcast.net", 22, grade4);
        addStudent(5, "Habib", "Trump", "someemail@mywqu.edu", 42, grade5);

        // printing related subroutines/methods
        Student student = students.get(3); //get student 3 for printing
        System.out.println("Print one student:");
        student.print(); //prints specific student data as per 2.D
        printAllStudents(); //print all students as per 3.B
        print_invalid_emails(); //checks email addresses for proper form as per 3.D
        printAverageGrade(); //print grades as per 3.C    
        remove(); // removes student 5 as per 3.A
        printAllStudents(); // shows student 3 has been removed
        remove(); // shows error as student already removed
    }

    public static void addStudent(int studentID, String firstName, String lastName, String email, int age, int[] grades){
            Student newStudent = new Student(studentID, firstName, lastName, email, age, grades);
            students.add(newStudent);
    }

    public static void remove(){ // remove student 
            try{
                System.out.println("Remove student: 5 ");
                students.remove(5);
            } catch (IndexOutOfBoundsException e) {
                System.err.println("IndexOutOfBoundsException: No such student ID");
    }}

    public static void printAverageGrade(){ // print Average Grade
                System.out.println("Print Average Grade: ");
            for(Student eachItem : students){
                double total = eachItem.getgrades()[0] + eachItem.getgrades()[1] + eachItem.getgrades()[2];
                double average = total / 3;
                System.out.println(average);
    }}

    public static void printAllStudents(){ // print All Students
                System.out.println("Print all Students: ");
            for(int i=0; i < students.size(); i++){
                students.get(i).print();    
    }}

    public static void print_invalid_emails(){ // check Email Addresses for proper form
            System.out.println("Check for proper form of email addresses: ");       
            for(Student student : students) {
            if (student.getemail().contains("@") && student.getemail().contains(".") && !student.getemail().contains(" ")){
                System.out.println("Passed format check");
            }
            else
            {
                System.out.println("Invalid email address");
            }}
    }}

public class Student extends Roster
{
   private int studentID;
   private String firstName;
   private String lastName;
   private String email;
   private int age;
   private int[] grades = new int[3];

   public Student(int studentID, String firstName, String lastName, String email, int age, int[] grades)
   {
       setstudentID(studentID);
       setfirstName(firstName);
       setlastName(lastName);
       setemail(email);
       setage(age);
       setgrades(grades);
   }           
   public int getstudentID(){
       return studentID;
   }
   public void setstudentID(int studentID)
   {
       this.studentID = studentID;
   }   
   public String getfirstName(){
       return firstName;
   }
   public void setfirstName(String firstName)
   {
       this.firstName = firstName;
   }
   public String getlastName(){
       return lastName;
   }
   public void setlastName (String lastName)
   {
       this.lastName = lastName;
   }
   public String getemail(){
       return email;
   }
   public void setemail(String email)
   {
       this.email = email;
   }
   public int getage(){
       return age;
   }
   public void setage(int age)
   {
       this.age = age;
   }
   public void setgrades(int[] grades){
       this.grades = grades;
   }
   public int[] getgrades(){
       return grades;
   }
   public void print(){
       System.out.println(
       "Student ID = \t" + getstudentID() + ", \t" +
       "First Name = \t" + getfirstName() + ", \t" +
       "Last Name = \t" + getlastName() + ", \t" + 
       "Email = \t" + getemail() + ", \t" +
       "Age = \t" + getage());
   }
}
import java.util.ArrayList;
公共班级名册{
public static ArrayList students=new ArrayList();
公共静态void main(字符串[]args)
{
//输入学生成绩
int[]grade0={0,0,0};//填充使grade数组等于学生ID
int[]等级1={88,79,59};
int[]等级2={91,72,85};
int[]三年级={85,84,87};
int[]等级4={91,98,82};
int[]等级5={99,98,97};
//输入学生信息
addStudent(0,“空”、“空”null@null.com“,0,grade0);//将学生ID与数组号对齐的填充符
addStudent(1,“John”,“Smith”John1989@gmail.com”,20岁,一年级);
addStudent(2,“Suzan”,“Erickson”,“Erickson_1990@gmailcom“、19岁、二年级);
addStudent(3名,“杰克”,“那不勒斯”,“The_lawyer99yahoo.com”,19名,三年级);
加学生(4),“艾琳”,“布莱克”,“艾琳。black@comcast.net“,22岁,四年级);
addStudent(5,“哈比卜”,“特朗普”someemail@mywqu.edu“,42岁,五年级);
//打印相关子程序/方法
学生=学生。获取(3);//获取学生3以进行打印
System.out.println(“打印一个学生:”);
student.print();//根据2.D打印特定的学生数据
printAllStudents();//根据3.B打印所有学生
打印无效的电子邮件();//根据3.D检查电子邮件地址的格式是否正确
printAverageGrade();//根据3.C打印等级
remove();//根据3.A删除学生5
printAllStudents();//显示学生3已被删除
remove();//显示错误,因为学生已被删除
}
public static void addStudent(int studentID、String firstName、String lastName、String email、int age、int[]grades){
学生新闻学生=新学生(学生ID、名、姓、电子邮件、年龄、年级);
添加(newStudent);
}
public static void remove(){//remove student
试一试{
System.out.println(“删除学生:5”);
学生。移除(5);
}catch(IndexOutOfBoundsException e){
System.err.println(“IndexOutOfBoundsException:没有这样的学生ID”);
}}
public static void printAverageGrade(){//print Average Grade
System.out.println(“打印平均分数:”);
(每个学生:学生){
双倍合计=eachItem.getgrades()[0]+eachItem.getgrades()[1]+eachItem.getgrades()[2];
双倍平均值=总数/3;
系统输出打印项次(平均值);
}}
公共静态void printalstudents(){//print All Students
System.out.println(“打印所有学生:”);
对于(int i=0;i