Java 打印最高分数和学生姓名
所以我必须在两个数组中输入10个名字和分数,然后打印出最好的学生名字和分数。我对java还是新手,我只能从数组中打印出max标记,但是我如何将它链接到学生的名字呢Java 打印最高分数和学生姓名,java,Java,所以我必须在两个数组中输入10个名字和分数,然后打印出最好的学生名字和分数。我对java还是新手,我只能从数组中打印出max标记,但是我如何将它链接到学生的名字呢 import java.util.Scanner;
import java.util.Scanner;
public class storeMarks {
public static void main (String[]args){
Scanner tomato = new Scanner(System.in);
double max;
double marks[];
marks= new double[10];
int i;
for(i=0; i<10; i++) {
System.out.println("Enter marks: ");
marks[i]=tomato.nextDouble();
}
max = marks[0];
for(i = 0; i < 10; i++) {
if(max < marks[i]) {
max = marks[i];
}
}
System.out.println("Highest marks:"+max);
}
}
import java.util.Scanner;
公共类存储标记{
公共静态void main(字符串[]args){
扫描仪=新扫描仪(System.in);
双峰;
双标记[];
分数=新双[10];
int i;
对于(i=0;i我创建了一个班级学生:
public class Student {
private double mark;
private String name;
public Student()
{
mark = 0;
name = "";
}
public Student(int mark, String name)
{
this.mark = mark;
this.name = name;
}
public double getMark()
{
return mark;
}
public String getName()
{
return name;
}
public void setName(String name)
{
this.name = name;
}
public void setMark(double mark)
{
this.mark = mark;
}
}
然后我在main中编辑了你的代码
public static void main(String[] args) {
// TODO code application logic here
ArrayList<Student> studs = new ArrayList<Student>();
for(int i=0; i< 3; i++)
{
studs.add(new Student());
}
Scanner tomato = new Scanner(System.in);
double max;
int i;
for(i=0; i<3; i++) {
System.out.println("Enter name of student: ");
studs.get(i).setName(tomato.nextLine());
System.out.println("Enter marks: ");
studs.get(i).setMark(tomato.nextDouble());
tomato.nextLine();
}
int position = 0;
max = studs.get(0).getMark();
for(i = 0; i < 3; i++) {
if(max < studs.get(i).getMark()) {
max = studs.get(i).getMark();
position = i;
}
}
System.out.println("Highest marks:"+studs.get(position).getMark() + " student name " + studs.get(position).getName());
}
publicstaticvoidmain(字符串[]args){
//此处的TODO代码应用程序逻辑
ArrayList螺柱=新的ArrayList();
对于(int i=0;i<3;i++)
{
添加(新学员());
}
扫描仪=新扫描仪(System.in);
双峰;
int i;
对于(i=0;i保留最大值的索引。如果您确保每个数组中的索引对应于特定的单个学生,则您可以找出哪个索引为您提供最大值,并因此使用索引从另一个数组中检索学生姓名。即,您确保数组位置推断关于学生标识i的信息泰和相应的马克。哈!我现在明白了,让我试试
public static void main(String[] args) {
// TODO code application logic here
Scanner tomato = new Scanner(System.in);
double[] marks = new double[10];
String[] names = new String[10];
double max;
int i;
for(i=0; i<3; i++) {
System.out.println("Enter name of student: ");
names[i] = (tomato.nextLine());
System.out.println("Enter marks: ");
marks[i] = tomato.nextDouble();
tomato.nextLine();
}
int position = 0;
max = marks[i];
for(i = 0; i < 3; i++) {
if(max < marks[i]) {
max = marks[i];
position = i;
}
}
System.out.println("Highest marks:"+ marks[position] + " student name " + names[position]);
}