《Java程序设计》上机实验 赵小敏 自编
2016/2017(1) Java程序设计课程作业(五)
班级:网工1501
学号:201526810318
姓名:王佳宇
完成日期:2016.11.10
一、编写一个日期程序,包含如下方法:
(1)输出当前的年份 (2)输出当前的季度 (3)输出当前的月份 (4)输出当前是星期几
(5)输出当前的日期,格式为××××年××月××日,如2013年11月1日 (6)输出当前的北京时间,格式为时:分:秒,如08:21:36
(7)输出当前的日期和时间,格式为××××-××-×× 时:分:秒,如 2013-11-1 08:21:36
(1) 问题分析
参照书本p177-178的格式使用
(2) 代码实现
package 第一题;
import java.util.Calendar;
public class Time {
} else if (day == 4) {
public static void main(String[] args) {
Calendar c = Calendar.getInstance(); int year = c.get(Calendar.YEAR); int month = c.get(Calendar.MONTH) + 1; int day = c.get(Calendar.DAY_OF_WEEK); int date = c.get(Calendar.DATE); String Day = null; if (day == 1) {
Day = \日\; Day = \一\; Day = \二\; } else if (day == 2) { } else if (day == 3) {
《Java程序设计》上机实验 赵小敏 自编
}
}
}
Day = \三\; Day = \四\; Day = \五\; Day = \六\;
} else if (day == 5) { } else if (day == 6) { } else if (day == 7) {
System.out.println(\年份:\ + year);
System.out.println(\季度:\ + (month / 3 + 1)); System.out.println(\月份:\ + month); System.out.println(\星期\ + Day);
System.out.println(\日期:\ + year + \年\ + month + \月\ + date + \日\); Calendar c2 = Calendar.getInstance();
String s1 = String.format(\北京时间:%1$tH:%1$tM:%1$tS\, c2); System.out.println(s1);
String s2 = String.format(\日期和时间:%1$tY-%1$tm-%1$td %1$tH:%1$tM:%1$tS\, System.out.println(s2);
c2);
(3)运行结果 运行结果如图
(3) 实验小结
学会了Calendar类的使用和各种日期的输出方式
二、某班30个学生学号为20130301~20130330全部选修了Java程序设计课程,
给出所有同学成绩(实现时可用随机数产生,范围为60~100),请编写一个程序StuScore.java将该班的Java程序设计课程成绩按高到低排序打印输出。
《Java程序设计》上机实验 赵小敏 自编
要求分别用List和Map来实现,打印的成绩表包括学号、姓名、性别、成绩,如下示例:
20130324 张 三 男 95 20130310 李丽芳 女 90
20130302 王小五 男 88
(1) 问题分析
先建立一个Student的类来储存相关信息,在使用List和Map实现时应注意输出的排序问题。
(2) 代码实现
package 第二题;
import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.TreeMap;
public class Stu { int sno; String name; boolean isMale; int score;
public Stu(int sno) { }
public static void useList() {
Collections.sort(list, new Comparator
@Override
public int compare(Stu o1, Stu o2) {
return o2.score - o1.score;
List
list.add(new Stu(i)); this.sno = 20100300 + sno; name = \学生\号\
isMale = (int) (Math.random() * 2) == 1; score = (int) (Math.random() * 41) + 60;
《Java程序设计》上机实验 赵小敏 自编
}
});
}
System.out.println(\学号\\t姓名\\t性别\\t成绩\for (Stu s : list) { }
System.out.println(s.sno + \男
\女\
public static void useMap() { }
public static void main(String[] args) { } }
System.out.println(\利用List实现:%useList();
System.out.println(\利用Map实现:%useMap();
System.out.println(\学号\\t姓名\\t性别\\t成绩\
for (Iterator
Stu s = map.get(i.next());
System.out.println(s.sno + \男for (int i = 1; i <= 30; i++) { }
Stu s = new Stu(i); map.put(s.score, s); Map @Override public int compare(Integer o1, Integer o2) { } return o2 - o1; Stu> map = new TreeMap Stu>(new Comparator \女\ (3)运行结果 运行结果如图 《Java程序设计》上机实验 赵小敏 自编