java 返回一个arraylist_如何返回Java类中的ArrayList值

以下是我的代码:代码应该返回列表中的学生与来自arraylist的相关数据。但是错误告诉我它不能对非静态方法进行静态引用?如何返回Java类中的ArrayList值

我试图使方法静态,它给了我另一个错误。

//main function code

String forename = null;

String surname = null;

String grade = null;

String yesOrNo;

double mark;

int selection;

ArrayList studentDetails = new ArrayList();

switch(selection){

case 1: {

if (studentDetails.isEmpty()){

System.out.println("No Students Have Been Entered Yet");

main(null);

break;

}

else{

for(int i = 0; i < studentDetails.size(); i++){

StudentClass = studentDetails.get(i);

System.out.println(StudentClass.getForename() + " " +

StudentClass.getSurname() + " received a " + StudentClass.getGrade() +

" for their Student Mark of " + StudentClass.getMark() + ".");

}

}

break;

\\ Error:Exception in thread "main" java.lang.Error: Unresolved compilation problems:

StudentClass cannot be resolved to a variable

Cannot make a static reference to the non-static method getForename() from the type StudentClass

Cannot make a static reference to the non-static method getSurname() from the type StudentClass

Cannot make a static reference to the non-static method getGrade() from the type StudentClass

Cannot make a static reference to the non-static method getMark() from the type StudentClass

at students.main(students.java:60)

\\code for Class

public class StudentClass {

public String Forename;

public String Surname;

public String Grade;

public double Mark;

public StudentClass(String forename, String surname, double mark){

Forename = forename;

Surname = surname;

Mark = mark;

}

public void setForename(String forename)

{

Forename= forename;

}

public void setSurname(String surname)

{

Surname= surname;

}

public void setMark(double mark)

{

Mark= mark;

}

public String getForename()

{

return Forename;

}

public String getSurname()

{

return Surname;

}

public double getMark()

{

return Mark;

}

public String getGrade()

{

if (Mark < 40)

Grade = "FAIL";

else if ((Mark >= 40) && (Mark <= 64))

Grade ="PASS";

else if ((Mark >= 65) && (Mark <= 84))

Grade ="MERIT";

else if ((Mark >= 85) && (Mark <= 100))

Grade ="DISTINCTION";

return Grade;

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值