我创建了两个数组。一个带有学生姓名的字符串和一个带有成绩的整数。数据由JOptionPane插入。现在如何显示比c?
更高等级的学生的姓名答案 0 :(得分:0)
int key=9;
int a = 0;
boolean found = false;
for ( a = 0; a < grades.length; a++)
{
if (grades[ a ] == key );
{
found = true;
break;
}
}
if (found)
{
JOptionPane.showMessageDialog(null,"Is found " + key "in the index:" +a );
System.exit(0);
}
答案 1 :(得分:0)
正如你所说的那样,只需保存值,而不是索引。
int grade = grades[a];
或
String student = students[a];
虽然我需要再次强调它 - 但这不是一个好的设计。 Java是一种面向对象的语言,成绩应该是学生不可或缺的一部分。这个实现很混乱,应该按照以下方式重新制作 - 你声明一个新类:
public class Student{
private String name;
private int grade;
//getters and setters to access private fields
public String getName()
{
return this.name;
}
public void setName(String name)
{
this.name = name;
}
public int getGrade()
{
return this.grade;
}
public void setGrade(int grade)
{
this.grade = grade;
}
}
然后你只需声明一个Student对象数组,你可以迭代它并有效地获取或修改任何学生数据:
ArrayList <Student> students = new ArrayList <Student> ();
students.add(new Student("John", 5);
students.add(new Student("Jane", 3);
students.add(new Student("Tim", 4);
for(Student s : students)
{
//your operations here
}
答案 2 :(得分:-1)
您可以简单地遍历您的成绩数组并检查条件:
for (int i=0; i<grades.length; i++)
{
if(grades[i] > "C") //insert your function here
}
但是,如果这两个参数密切相关,则应将它们包装到Student对象中。