当前位置:编程学习 > C/C++ >>

在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++得出路在哪?

CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,