为什么它不喜欢我的arraylist< students> studentroster = new arraylist<>(); ? [英] Why doesn't it like my arraylist<students> studentroster = new arraylist<>(); ?

查看:69
本文介绍了为什么它不喜欢我的arraylist< students> studentroster = new arraylist<>(); ?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有两个代码类。跳到主要方法上方大约3/4的公共班级名册。错误似乎是参考我的ArrayList不喜欢类型学生(字符串也没有工作)。有人可以把它放在IDE中帮我弄清楚什么是错的吗?



我在以下行看到错误:

1)学生newStudent = new String(studentId,firstName,lastName,email ,年龄,成绩);

2)studentRoster.get(i).print();

3)int average =(newStudent.getGrades()[0] + newStudent.getGrades()[1] + newStudent.getGrades()[2])/ 3;

4)System.out.println(学生编号:+ newStudent.getstudentId()+平均成绩:+平均成绩;

5)if(b.getstudentId()。equals(studentId))

6)if(b.getQuantity()> 0)



我的尝试:



I've got both classes of my code. Skip down to about 3/4 just above the main method to public class Roster. The errors seem to be in reference to my ArrayList not liking type Students(String didn't work either). Can someone put this in an IDE and help me figure out what's wrong?

I'm getting errors on the lines that read:
1)Students newStudent = new String(studentId, firstName, lastName, email, age, grades);
2)studentRoster.get(i).print();
3)int average = (newStudent.getGrades()[0] + newStudent.getGrades()[1]+ newStudent.getGrades()[2])/3;
4) System.out.println("Student Number: " + newStudent.getstudentId() + " average grade: " + average);
5)if(b.getstudentId().equals(studentId))
6)if(b.getQuantity() > 0)

What I have tried:

import java.util.Scanner;
import java.util.Arrays;
import java.util.ArrayList;

public class Student{
	//public static void main(String[] args){}
		//make instance variables
		private String studentId;
		private String firstName;
		private String lastName;
		private String email;
		private String age;
		private int[] grades;
				
		//do constructors
	public Student(String studentId, String firstName, String lastName, String email, String age, int[] grades){
		setStudentId(studentId);
		setFirstName(firstName);
		setLastName(lastName);
		setEmail(email);
		setAge(age);
		setGrades(grades);
	}
		
		//accessors and mutators
		public String getStudentId(){  /*why do you hate me? */
			return studentId;
		}

		public void setStudentId(String studentId){
			this.studentId = studentId;
		}
		
		public String getFirstName(){
			return firstName;
		}
		public void setFirstName(String firstName){     /*holy crap, go away errors*/
			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 String getAge(){
			return age;
		}
		
		public void setAge(String age){
			this.age = age;
		}
		
		public void setGrades(int[] grades){
			this.grades = grades;
		}
		public int[] getGrades(){
			return grades;

import java.util.ArrayList;
public class Roster {
	private static ArrayList<students> studentRoster = new ArrayList<>();
	
	public static void main(String[] args){
		//add all 5 students
			add("1","John", "Smith","John1989@gmail.com","20", 88, 79, 59);
			add("2","Suzan","Erickson","Erickson_1990@gmail.com","19", 91, 72, 85);
			add("3","Jack","Napoli","The_lawyer99@yahoo.com","19", 85, 84, 87);
			add("4","Erin","Black","Erin.black@comcast.net","22", 91, 98, 82);
			add("5","Jason","Hancock","jhanc21@wgu.edu","30", 98, 95, 96);
			printAllStudents();
			printAverageGrades();
	}
		public static void add(String studentId, String firstName, String lastName, String email, String age, int grades1, int grades2, int grades3){
			int[] grades = {grades1, grades2, grades3};
			Students newStudent = new String(studentId, firstName, lastName, email, age, grades); //why doesn't this work?
			studentRoster.add(newStudent);
		}
		public static void printAllStudents(){
			System.out.println("Student Roster");
			for(int i=0; i < studentRoster.size(); i++){
				studentRoster.get(i).print();  //why doens't this work?
		}
	}
		public static void printAverageGrades(){
			System.out.println("Average Grades");
			for(Students newStudent : studentRoster){
				int average = (newStudent.getGrades()[0] + newStudent.getGrades()[1]+ newStudent.getGrades()[2])/3;
				System.out.println("Student Number: " + newStudent.getstudentId() + " average grade: " + average);
			}
		}

		public static void findStudent(String studentId){
			for(Students b: studentRoster){
				if(b.getstudentId().equals(studentId)){
					if(b.getQuantity() > 0){
						System.out.println(studentId + " is a student.");
						return;
					}else{
						System.out.println(studentId + " is not a student.");
						return;
					}
				}
			}
			System.out.println("We do not have a student number " + studentId);
		}
					
	}



Eclipse正在接受我的私有静态ArrayList< students> studentRoster = new ArrayList<> ;;



我知道学生不是一个类型,但我尝试过String,但这也不起作用。


Eclipse is accepting my private static ArrayList<students> studentRoster = new ArrayList<>;

I know Students isn't a type, but I tried String, and that didn't work either.

推荐答案

这是一个错误导致另一个错误的情况。我将回答您的标题:

您有一个班级
This is the case of one mistake leads to another. I will just answer to your title:
You have a class
public class Student{

,然后您尝试

private static ArrayList<students> studentRoster = new ArrayList<>();

您是否注意到名称中的不匹配。不应该是

Do you notice the mismatch in the names here. Shouldn't it be

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

你必须自己弄清楚其余部分。

You have to figure out the rest yourself.


1。您的班级是学生,但您在班级名册中定义学生



2.名单中的 getStudentId()不是 getstudentId()



3.在名册中找不到符号 getQuantity()因为你没有在课堂上声明他们学生



4.为什么不使用
1. Your class are Student but you define Students in your class Roster.

2. Is getStudentId() not getstudentId() in Roster.

3. Cannot find symbol getQuantity() in Roster because you are not declaring them in class Student

4. Why don't you use
System.out.println(studentRoster.get(i)); 

而不是

studentRoster.get(i).print();


参见Trail:学习Java语言(The Java™Tutorials) [ ^ ]。


这篇关于为什么它不喜欢我的arraylist&lt; students&gt; studentroster = new arraylist&lt;&gt;(); ?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆