Java作业五
1.编程生成10个1~100之间的随机数,并统计每个数出现的概率。
这个博文里面又random的详细解释:https://www.cnblogs.com/ningvsban/p/3590722.html
package experiment; import java.util.Arrays;//用来用sort的 import java.util.Scanner;//这是用来输入的 import java.util.Random;//这是random函数 public class ShenYue { public static void main(String[] args) { // TODO Auto-generated method stub Random r1 = new Random(100);//这个100并无作用 int[] a = new int[10]; //用来存有哪些数字是幸运鹅 int[] a_save = new int[120];//用来存出现几次 for(int i = 1; i <= 100; i++) { a_save[i] = 0;//初始化数组为0 } for( int i = 0; i < 10; i++) { a[i] = r1.nextInt(100)+1;//这个100表示[0,100)所以这里要+1 a_save[a[i]] ++; System.out.print(a[i]+" ");//打印出来,那些是幸运鹅 } System.out.print("\n"); for(int i = 1; i <= 100; i++) { double re; re = 1.0*a_save[i]/10 ; if(re != 0) System.out.println(i+"的概率是:"+re); } System.out.println("其余概率均为0"); } }
2.使用HashMap类保存由学号和学生姓名所组成的键-值对,比如"200709188"和"John Smith",然后按学号的自然顺序将这些键-值对一一打印出来。
这里有一个简单的sort用法:Arrays.sort(你设定的数组,0,n)
我其实一直不太懂,明明hash容器是无顺序的,为何还要排序?难道不该是Treemap吗?
package experiment; import java.util.Arrays;//用来用sort的 import java.util.Scanner;//这是用来输入的 import java.util.Random;//这是random函数 import java.util.HashMap;//这是HashMap类 public class ShenYue { public static void main(String[] args) { // TODO Auto-generated method stub HashMap<Integer, String> Hmap = new HashMap<>(); Hmap.put(200709188, "John Smith"); Hmap.put(200709221, "Sakura XiYue"); Hmap.put(200709198, "Dilraba"); Hmap.put(200709187, "Wangdachui"); int[] a = {200709188,200709221,200709198,200709187}; Arrays.sort(a, 0, 4); for(int i=0; i<4; i++) { System.out.print(a[i]+" "); System.out.println(Hmap.get(a[i])); } } }
3.编写一个程序,使用Map实现对学生成绩单的存储和查询,并将成绩排序存储到TreeSet中,求出平均成绩、最高分和最低分。
我这个代码也是转载的,还没有试过(滚去面壁)
package rongqi.fourth; public class student { int id; String name; int age; public student(){ } public student(int id,String name,int age) { super(); this.id=id; this.name=name; this.age=age; } public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } }
package rongqi.fourth; import java.util.HashMap; import java.util.Map; import java.util.Set; public class database { student st; static Map<Integer,student> map; public database(){ map=new HashMap<Integer,student>(); } public void insert() { st=new student(); System.out.println("请输入学号"); st.setId(Uitl.in.nextInt()); System.out.println("请输入姓名"); st.setName(Uitl.in.next()); System.out.println("请输入年龄"); st.setAge(Uitl.in.nextInt()); map.put(st.getId(),st); System.out.println("成功插入一条数据"); } public void selectAll() { System.out.println(" 学号 姓名 年龄"); System.out.println("==========================="); Set keys=map.keySet(); for(Object key:keys){ System.out.println("学号"+map.get(key).getId()+" 姓名"+map.get(key).getName()+" 年龄"+map.get(key).getAge()); } } public void delete(){ System.out.println("输入要删除的学号"); int id=Uitl.in.nextInt(); if(map.get(id)==null){ System.out.println("没有此学生"); }else { map.remove(id); System.out.println("已删除"); } } public void updata(){ System.out.println("输入要修改的学号"); int id=Uitl.in.nextInt(); if(map.get(id)==null){ System.out.println("没有此学生"); }else { System.out.println("输入要修改姓名"); st.setName(Uitl.in.next()); System.out.println("输入要修改的年龄"); st.setAge(Uitl.in.nextInt()); } } }
4.编写一个程序,实现将十进制整数转换为二进制、八进制和十六进制形式。
内置函数,非常舒服
package experiment; import java.util.Arrays;//用来用sort的 import java.util.Scanner;//这是用来输入的 import java.util.Random;//这是random函数 import java.util.HashMap;//这是HashMap类 public class ShenYue { public static void main(String[] args) { // TODO Auto-generated method stub Scanner in = new Scanner(System.in); int a = in.nextInt(); System.out.println(Integer.toBinaryString(a));//10->2 System.out.println(Integer.toOctalString(a));//10->8 System.out.println(Integer.toHexString(a));//10-16 } }
6.使用java.text.SimpleDateFormat类将系统日期格式化为“2007年8月20日”的形式输出。
惭愧啊,还是找了百度参考
package experiment; import java.util.Arrays;//用来用sort的 import java.util.Date; import java.util.Scanner;//这是用来输入的 import java.util.Random;//这是random函数 import java.util.HashMap;//这是HashMap类 import java.text.SimpleDateFormat;//时间? public class ShenYue { public static void main(String[] args) { // TODO Auto-generated method stub SimpleDateFormat sdf = new SimpleDateFormat(); sdf.applyPattern("yyyy年MM月dd日");//这是设定自己想要的样式 System.out.println(sdf.format(new Date())); } }
7.编写程序实现:定义一个Float类型的数组,随机往其中填充元素,并打印该数组内容。
package experiment; import java.util.Arrays;//用来用sort的 import java.util.Date; import java.util.Scanner;//这是用来输入的 import java.util.Random;//这是random函数 import java.util.HashMap;//这是HashMap类 import java.text.SimpleDateFormat;//时间? public class ShenYue { public static void main(String[] args) { // TODO Auto-generated method stub Scanner in = new Scanner(System.in); int n = in.nextInt();//自定义数组大小 Float[] a = new Float[n];//定义一个大小为n的数组 for(int i = 0; i < n; i++) { a[i] = (float) in.nextInt();//强制转换 } for(int i = 0; i < n; i++) { System.out.print(a[i]+" "); } } }