如何修复getAge()以获取代码中最年长学生的年龄? import java.util.ArrayList; 导入java.util.List; 导入java.util.Optional; 公立班学生{ 公立学生(字符串名称、整数年龄、字符串专业、字符串SSN){ } 公共静态void main(字符串[]args){ List studentList=new ArrayList(); 学生名单。添加(新学生(“爱丽丝”,22,“计算机科学”,“603-28-5324”); 学生名单。添加(新学生(“亚瑟”,19,“数学”,“402-23-5463”); 学生名单。添加(新学生(“Kim”,20,“英语”,“607-34-5463”); 新增(新生(“杰克”,24,“科学”,“537-52-6324”); 新增(新生(“鲍勃”,27,“计算机科学”,“345-23-4354”); 学生名单。添加(新学生(“莎拉”,21岁,“音乐”,“355-67-5352”); 学生名单。添加(新生(“玛丽亚”,19,“商业”,“567-45-8774”); 新增(新生(“罗伯特”,18岁,“艺术”,“732-65-7364”); 可选=studentList.stream() .max((p1,p2)->p1.getAge()-p2.getAge()); if(可选的.isPresent()){ 学生年龄=可选。get(); System.out.println(“年龄最大的学生是:“+Oldest.getAge()+”(“+Oldest.getAge()+”)); //getAge()不起作用。如何使它能够识别数组中的年龄并打印出带有年龄的名称? } } }
您应该创建成员变量并在构造函数中分配它们如何修复getAge()以获取代码中最年长学生的年龄? import java.util.ArrayList; 导入java.util.List; 导入java.util.Optional; 公立班学生{ 公立学生(字符串名称、整数年龄、字符串专业、字符串SSN){ } 公共静态void main(字符串[]args){ List studentList=new ArrayList(); 学生名单。添加(新学生(“爱丽丝”,22,“计算机科学”,“603-28-5324”); 学生名单。添加(新学生(“亚瑟”,19,“数学”,“402-23-5463”); 学生名单。添加(新学生(“Kim”,20,“英语”,“607-34-5463”); 新增(新生(“杰克”,24,“科学”,“537-52-6324”); 新增(新生(“鲍勃”,27,“计算机科学”,“345-23-4354”); 学生名单。添加(新学生(“莎拉”,21岁,“音乐”,“355-67-5352”); 学生名单。添加(新生(“玛丽亚”,19,“商业”,“567-45-8774”); 新增(新生(“罗伯特”,18岁,“艺术”,“732-65-7364”); 可选=studentList.stream() .max((p1,p2)->p1.getAge()-p2.getAge()); if(可选的.isPresent()){ 学生年龄=可选。get(); System.out.println(“年龄最大的学生是:“+Oldest.getAge()+”(“+Oldest.getAge()+”)); //getAge()不起作用。如何使它能够识别数组中的年龄并打印出带有年龄的名称? } } },java,Java,您应该创建成员变量并在构造函数中分配它们 import java.util.ArrayList; import java.util.List; import java.util.Optional; public class Student { public Student(String name, int age, String major, String SSN) { } public static void main(String[] args) { L
import java.util.ArrayList;
import java.util.List;
import java.util.Optional;
public class Student {
public Student(String name, int age, String major, String SSN) {
}
public static void main(String[] args) {
List<Student> studentList = new ArrayList<>();
studentList.add(new Student("Alice", 22, "Computer Science", "603-28-5324"));
studentList.add(new Student("Arthur", 19, "Math","402-23-5463"));
studentList.add(new Student("Kim", 20, "English","607-34-5463"));
studentList.add(new Student("Jack", 24, "Science","537-52-6324"));
studentList.add(new Student("Bob", 27, "Computer Science", "345-23-4354"));
studentList.add(new Student("Sarah", 21, "Music", "355-67-5352"));
studentList.add(new Student("Mariah", 19, "Business", "567-45-8774"));
studentList.add(new Student("Robert", 18, "Art", "732-65-7364"));
Optional<Student> optional = studentList.stream()
.max((p1, p2) -> p1.getAge() - p2.getAge());
if (optional.isPresent()) {
Student oldest = optional.get();
System.out.println("The Oldest Student is: " +oldest.getAge() + "(" + oldest.getAge() + ")");
//getAge() doesn't work. How do I make it so that it will be able to recognize the age in the array and print out the name with the age?
}
}
}
什么
getAge()
?您从未定义过方法。嗨,Jason,欢迎来到Stack Overflow!你说“不行”是什么意思?你能不能用更多的书面英语解释一下你想做什么和失败的地方,或者把代码缩小到一个小范围?谢谢我不知道如何创建方法来识别getAge()或getName()。还刚刚意识到我不小心在系统打印行中放置了两次getAge(),因此您想创建一个getAge()
方法,以返回给定学生
对象数组中的最大年龄?非常欢迎Jason,请将问题标记为已解决
public class Student {
String name;
int age;
String major;
String SSN;
public Student(String name, int age, String major, String SSN) {
this.name=name;
this.age=age;
this.major=major;
this.SSN=SSN;
}
int getAge(){
return age;
}
String getName()
{
return name;
}
//and so on for all your variables
}