首页 > 试题广场 >

学生查询

[编程题]学生查询
  • 热度指数:7322 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解
输入n个学生的信息,每行包括学号、姓名、性别和年龄每一个属性使用空格分开。最后再输入一学号,将该学号对应的学生信息输出。

输入描述:
测试数据有多组,第一行为样例数m。对于每个样例,第一行为学生人数n(n不超过20),接下来n行每行4个整数分别表示学号、姓名、性别和年龄,最后一行表示查询的学号。


输出描述:
输出m行,每行表示查询的学生信息,格式参见样例。
示例1

输入

1
4
1 李江 男 21
2 刘唐 男 23
3 张军 男 19
4 王娜 女 19
2

输出

2 刘唐 男 23
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;

public class Main {
    static class student {
        int id;
        String name;
        String gender;
        int age;

        public student(int id, String name, String gender, int age) {
            this.id = id;
            this.name = name;
            this.gender = gender;
            this.age = age;
        }

        @Override
        public String toString() {
            return id + " " + name + " " + gender + " " + age;
        }
    }

    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int n = Integer.parseInt(br.readLine());
        for (int i = 0; i < n; i++) {
            int num = Integer.parseInt(br.readLine());
            ArrayList<student> list = new ArrayList<>();
            for (int j = 0; j < num; j++) {
                String[] s = br.readLine().split(" ");
                int id = Integer.parseInt(s[0]);
                String name = s[1];
                String gender = s[2];
                int age = Integer.parseInt(s[3]);
                student st = new student(id, name, gender, age);
                list.add(st);
            }
            int aim = Integer.parseInt(br.readLine());
            System.out.println(list.get(aim - 1));
        }
    }
}


发表于 2021-03-15 17:26:05 回复(0)
Java
import java.util.HashMap;
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int m = scanner.nextInt();
        for (int i = 0; i < m; i++) {
            int n = scanner.nextInt();
            HashMap<Integer, Student> map = new HashMap<>();
            for (int j = 0; j < n; j++) {
                int id = scanner.nextInt();
                map.put(id,new Student(id,scanner.next(),scanner.next(),scanner.nextInt()));
            }
            int search = scanner.nextInt();
            System.out.println(map.get(search));
        }
    }

    static class  Student{
        Integer id;
        String name;
        String sex;
        Integer age;

        public Student(Integer id, String name, String sex, Integer age) {
            this.id = id;
            this.name = name;
            this.sex = sex;
            this.age = age;
        }

        @Override
        public String toString() {
            return id+" "+name+" "+sex+" "+age;
        }
    }
}


发表于 2020-03-20 17:26:39 回复(0)

问题信息

上传者:小小
难度:
2条回答 4694浏览

热门推荐

通过挑战的用户

查看代码