我是靠谱客的博主 精明金鱼,最近开发中收集的这篇文章主要介绍学生信息的添加与查询,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

Problem Description

设计一个学生添加和查询的系统,从键盘读入学生的数据,然后再从屏幕显示出来。

Input

第一行有2个整数N和M,其中:N——学生数量,M——学生属性数量;
第二行有M个字符串,表示学生的属性名称,其中第1个属性id表示关键字;其中各字段属性的数据类型是确定的。
接下来有N行M列数据,分别表示学生各种属性的值,关键字相同的记录代表一个学生(后来读入的信息覆盖前面读入数据)

Output

输出所有学生的属性及数据。(每行的列数据之间用‘t’进行分隔)

Sample Input

5 4
id name birthday score
0001 Mike 1990-05-20 98.5
0002 John 1992-05-20 67
0003 Hill 1994-05-02 36.5
0004 Christ 1996-05-20 86.5
0001 Jack 1998-05-20 96

Sample Output

id:0001	name:Jack	birthday:1998_5_20	score:96.0
id:0002	name:John	birthday:1992_5_20	score:67.0
id:0003	name:Hill	birthday:1994_5_2	score:36.5
id:0004	name:Christ	birthday:1996_5_20	score:86.5

code:

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.Date;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Scanner;
import java.util.Set;

public class Main {

	public static void main(String[] args) throws ParseException  {
		// TODO Auto-generated method stub
		Scanner reader = new Scanner(System.in);
		
		int n, m;
		n = reader.nextInt();
		m = reader.nextInt();
		Map<String, Student> map = new HashMap<String, Student>();
		reader.nextLine();
		reader.nextLine();
		for(int i = 0;i<n;i++)
		{
			String id = reader.next();
			Student stu = new Student(reader.next(), reader.next(), reader.nextDouble());
			map.put(id, stu);
		}
		Set<String> keySet = map.keySet();
		List<String> list = new ArrayList<String>(keySet);
		Collections.sort(list, new Comparator<String>() {
			@Override
			public int compare(String o1, String o2) {
				// TODO Auto-generated method stub
				return o1.compareTo(o2);
			}
		});
		
		for(int i = 0;i<list.size();i++)
		{
			System.out.print("id:"+list.get(i)+"t");
			System.out.println(map.get(list.get(i)));
		}
		
	}
	
}
class Student
{
	String name, bir;
	double sc;
	public Student(String name, String bir, double sc) {
		super();
		this.name = name;
		this.bir = bir;
		this.sc = sc;
	}
	public String date_change() throws ParseException
	{
		SimpleDateFormat df1 = new SimpleDateFormat("yyyy-MM-dd");
		SimpleDateFormat df2 = new SimpleDateFormat("yyyy_M_d");
		return df2.format(df1.parse(bir));
	}
	public String toString() 
	{
		try {
			return "name:"+name+"tbirthday:"+date_change()+"tscore:"+String.format("%.1f", sc);
		} catch (ParseException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return "error";
	}
	
}


最后

以上就是精明金鱼为你收集整理的学生信息的添加与查询的全部内容,希望文章能够帮你解决学生信息的添加与查询所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(45)

评论列表共有 0 条评论

立即
投稿
返回
顶部