在java中,如何根据一个数查找到别一个数。
请用程序对以下表格进行排序,并能根据学号查找该学员的成绩。学号 姓名 成绩
001 张三 80
002 刘六 96
003 李四 74
答案:import java.util.Comparator;
import java.util.Iterator;
import java.util.Scanner;
import java.util.TreeSet;
public class Student implements Comparator<Student> {
// 学号
private String no;
// 姓名
private String name;
// 分数
private int score;
// 构造方法
public Student() {
super();
}
public Student(String no, String name, int score) {
super();
this.no = no;
this.name = name;
this.score = score;
}
// 排序方法
public int compare(Student o1, Student o2) {
return o1.no.compareTo(o2.no);
}
public String getNo() {
return no;
}
public void setNo(String no) {
this.no = no;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getScore() {
return score;
}
public void setScore(int score) {
this.score = score;
}
// 主方法
public static void main(String[] args) {
// 生成对象,S1,S2,S3与你所提的问题的对象相同
Student s1 = new Student("001", "张三", 80);
Student s2 = new Student("006", "田七", 75);
Student s3 = new Student("003", "李四", 74);
Student s4 = new Student("002", "刘六", 96);
Student s5 = new Student("005", "赵五", 80);
Student s6 = new Student("004", "易做图", 58);
TreeSet<Student> treeSet = new TreeSet<Student>(new Student());
treeSet.add(s1);
treeSet.add(s2);
treeSet.add(s3);
treeSet.add(s4);
treeSet.add(s5);
treeSet.add(s6);
// 以下为排序
System.out.println("--------------根据学号排序输出-------------");
for (Iterator<Student> iterator = treeSet.iterator(); iterator.hasNext();) {
Student student = iterator.next();
System.out.println("学号 :" + student.no + " 姓名 : " + student.name + " 分数 : " + student.score);
}
// 以下为查询
System.out.println("--------------根据学号查询成绩-------------");
Scanner scanner = new Scanner(System.in);
System.out.println("--------------请输入学号---------------");
String no = scanner.next();
for (Iterator<Student> iterator = treeSet.iterator(); iterator.hasNext();) {
Student student = iterator.next();
if (student.no.equals(no)) {
System.out.println("您查询的学生信息");
System.out.println("学号 :" + student.no + " 姓名 : " + student.name + " 分数 : " + student.score);
return;
}
}
System.out.println("不存在此学生信息!!!!");
}
@Override // 可自动生成
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + ((no == null) ? 0 : no.hashCode());
return result;
}
@Override // 可自动生成
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
final Student other = (Student) obj;
if (no == null) {
if (other.no != null)
return false;
} else if (!no.equals(other.no))
return false;
return true;
}
}
楼主你自己创建一个STUDENT的类,把代码赋上就可以了,注释我已经写的很详细了。希望LZ以后能自己完成代码,再提问的时候不再直接求源码了。而是求思路
有不明白的可以直接问我
方法一:JDBC写成表 设学号为主键
然后连接数据库。
用PreparedStatement(sql)排序查询
用ResultSet接收结果
方法二:
建一个Student类 包括studentNumber studentName studentScore这几个成员变量
然后用HashMap装Student ,Key为学号,Value为Student(),
也可以用ArrayList啥的来装,这个比较容易。
上一个:java 谁能给我画图组成的股市分析代码?
下一个:C++得出路在哪?