《Java程序设计》上机实验 赵小敏 自编
(4)实验小结
学会了List和Map的使用,并且学会了利用
Collections.sort(list, new Comparator
public int compare(Stu o1, Stu o2) { return o2.score - o1.score; }
});来进行排序。在使用Map的时侯如果数据相同,一个键只能对应一个数据,所以当随机出来的数据相同时就会出现利用Map实现时数据会被覆盖,从网上搜索相关资料说是因为Map本身的原因,如果需要做到不被覆盖只能对Map进行重载。
三、选做题(建议学有余力的同学选做第2题)
(1)假设某停车场的收费标准为:15分钟以内免费,超过15分钟每小时收费5元,每天30元封顶。有效停车时间=实际停车时间-15分钟,如实际停车1小时10分,收费5元;实际停车时间1小时20分钟,收费10元,以此类推。 请编写一个简单的停车收费程序ParkingFeeCollection1.java。
(1) 问题分析
需要对停车时间进行分类
《Java程序设计》上机实验 赵小敏 自编
(2)代码实现
package 第三题;
import java.util.Random;
public class ParkingFeeCollection1 { public static int charge(int time) { int t;
int money;
if (time <= 15) money = 0;
else if (time > 15 && time <= 375) { if ((time - 15) % 60 == 0) t = (time - 15) / 60; else
t = (time - 15) / 60 + 1; money = t * 5; } else
money = 30; return money; }
public static void main(String[] args) {
// TODO 自动生成的方法存根 Random r = new Random(); int t = r.nextInt(400);
System.out.println(\停车时间:(分钟)\); System.out.println(t);
System.out.println(\收费\);
System.out.println(charge(t)); } }
(3)运行结果
运行结果如图2.1-1。
《Java程序设计》上机实验 赵小敏 自编
(4)实验小结
加强了对随机数的使用,在做第二题的时侯想不到更好的方法对时间进行分类,想直接对时间进行加减而不是做转化,但是目前还没找到合适对方法,今后有空会继续尝试