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])); } } }