Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.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 如何显示带有s1.computeGrade(69)的arrayList并将其打印出来_Java_Arrays - Fatal编程技术网

Java 如何显示带有s1.computeGrade(69)的arrayList并将其打印出来

Java 如何显示带有s1.computeGrade(69)的arrayList并将其打印出来,java,arrays,Java,Arrays,这是我的课 package studentresults; public class Student { private String name, subject, grade; public Student(String name, String subject) { this.name = name; this.subject = subject; } public String getGrade() { return grade; } public voi

这是我的课

package studentresults;

public class Student 
{
private String name, subject, grade;

public Student(String name, String subject)
{
    this.name = name;
    this.subject = subject;
}

public String getGrade()
{
    return grade;
}

public void computeGrade(double marks)
{
    if(marks >= 80)
    {
        this.grade = "A";
    }
    else if (marks>=70)
    {
        this.grade = "B";
    }
    else if (marks>=60)
    {
        this.grade = "C";
    }
    else if (marks>=50)
    {
        this.grade = "D";
    }
    else
    {    
        this.grade = "F";   
    }
}
 public void computeGrade(String score)
{
    if (score == "Pass")
    {
        this.grade = "P";
    }
    else
    {
        this.grade = "F";
    }
}

public String toString()
 {
    String info = "Name: " + name + "\t Subject: " + subject + "\t Grade: "    + grade;
    return info;
}
}
下面是我的主要观点:

 package studentresults;

 import java.util.ArrayList;

 public class StudentResults 
 {
public static void main(String[] args) 
{
    ArrayList<Student> stuList = new ArrayList<>();
    ArrayList newList = new ArrayList();

    Student s1 = new Student("Clara Ng", "Basic Accounting");
    Student s2 = new Student("Kate Sun", "Basic Accounting");
    Student s3 = new Student("Ray Wong", "French Language");
    Student s4 = new Student("Nadirah", "Creative Writing");
    Student s5 = new Student("Fabian Ho", "Basic Accounting");
    Student s6 = new Student("Tan Kexin", "Creative Writing");

    stuList.add(s1);
    stuList.add(s2);
    stuList.add(s3);
    stuList.add(s4);
    stuList.add(s5);
    stuList.add(s6);

   s1.computeGrade(79);
   s2.computeGrade("Pass");
   s3.computeGrade(65.5);
   s4.computeGrade(85);
   s5.computeGrade("Fail");
   s6.computeGrade(74.5);

   newList.addAll(stuList);

   for(int i=0;stuList.length;i++)
   {
       if()
      {
           //System.out.println(i.toString());
      }

   }

}
package studentresults;
导入java.util.ArrayList;
公开课学生成绩
{
公共静态void main(字符串[]args)
{
ArrayList stuList=新的ArrayList();
ArrayList newList=新的ArrayList();
学生s1=新生(“Clara Ng”,“基础会计”);
学生s2=新生(“凯特·孙”,“基础会计”);
学生s3=新生(“Ray Wong”,“法语”);
学生s4=新生(“纳迪拉”,“创造性写作”);
学生s5=新学生(“费边·何”,“基础会计”);
学生s6=新生(“谭可欣”,“创意写作”);
添加(s1);
添加(s2);
添加(s3);
添加(s4);
添加(s5);
增补(中六);;
s1.计算贸易(79);
s2.计算机积分(“通过”);
s3.计算积分(65.5);
s4.计算机积分(85);
s5.计算贸易(“失败”);
s6.计算机等级(74.5);
newList.addAll(stuList);
for(int i=0;stuList.length;i++)
{
if()
{
//System.out.println(i.toString());
}
}
}
}

1) 使用学生课堂中创建的arrayList/vector和方法,将所有未评分及格学生的详细信息打印到屏幕上


2) 使用在学生课堂上创建的arrayList/vector和方法,将成绩为B或更好的学生总数打印到屏幕上。

只需重复它,例如第二个问题:

for(student : stuList) {
    if("B".equals(student.getGrade()) || "A".equals(student.getGrade())) {
        student.toString();
    } 
} 
你可以做的更容易,同样的第一个!
希望这有帮助

Edit
Student
Class使用
.equals()
比较字符串

 public void computeGrade(String score)
{
    if (score.equals("Pass"))
    {
        this.grade = "P";
    }
    else
    {
        this.grade = "F";
    }
}
你的主要意见是:

 int highGradeStudents=0;
    for(int i=0;i < stuList.size();i++)
     {
         if(!stuList.get(i).getGrade().equals("P"))//all the non-graded pass students
         {
               System.out.println(stuList.get(i).toString());
         }
         if(stuList.get(i).getGrade().equals("B") || stuList.get(i).getGrade().equals("A")) {
         //calculate number of students whose grade was B or better
               highGradeStudents++;
         }
       }
    System.out.println("the total number of students whose grade is B or better  = "+highGradeStudents);
int高年级学生=0;
对于(int i=0;i
for(int i=0;stuList.length;i++)。。。对于我得到的错误,是。长度是下划线,说找不到符号等。错误仍然存在,尝试了它,并且相同,不兼容的类型:int不能从For循环转换为booleanline 33谢谢帮助。在第37行,stuList.get(i).toString();。。。学生数据没有显示,我只需要将system.out.println和它的完成?但是如果我只想用P或F表示,我是否也要把| |放在第36行?@lexus如果你只想用P或F表示
if(stuList.get(i).getGrade().equals(“P”)| stuList.get(i).getGrade().equals(“F”)