Java暑期学习第七天日报
一、今天继续学习《Java程序设计完全手册》第三章的内容。主要是练习了3.5的综合实例和3.7的课后习题。此次的习题练习中的双色球难度较为大一点,主要在判断该数是否使用过,如果使用过则重新生成随机数这个点存在一些难度。3.7的课后习题难度不大,适合新手练习巩固知识。
二、计划明天做一些习题进行巩固提升。
三、今天的练习题目如下:
1.3.5的综合实例——双色球
import java.util.Random; import java.util.*; import java.util.Arrays; public class string extends solution { public static void main(String [] args) { String [] pool= {"01","02","03","04","05","06","07", "08","09","10","11","12","13","14","15","16", "17","18","19","20","21","22","23","24","25", "26","27","28","29","30","31","32","33"}; boolean [] used=new boolean[pool.length]; String [] ball=new String[6]; Random random=new Random(); int i,index=0; while(true) { i=random.nextInt(pool.length); if(used[i]) { continue; } ball[index++]=pool[i]; used[i]=true; if(index==ball.length) { break; } } Arrays.sort(ball); String [] newball=new String[7]; for(int m=0;m<ball.length;m++) { newball[m]=ball[m]; } newball[newball.length-1]=pool[random.nextInt(16)]; System.out.println("双色球为:"+Arrays.toString(newball)); } }
测试截图:
2. 3.7的课后习题
(1)对以下数据使用冒泡排序、选择排序、插入排序,进行从小到大排序{1,5,6,9,8,2,3};
冒泡排序:
import java.util.Arrays; public class sort { public static void main(String [] args) { int []num= {1,5,6,9,8,2,3}; int i,j,k; for(i=0;i<num.length-1;i++) for(j=0;j<num.length-1-i;j++) { if(num[j]>num[j+1]) { k=num[j]; num[j]=num[j+1]; num[j+1]=k; } } System.out.println(Arrays.toString(num)); } }
测试截图:
选择排序:
import java.util.Arrays; public class sort { public static void main(String [] args) { int []num= {1,5,6,9,8,2,3}; int i,j,k; for(i=0;i<num.length-1;i++) for(j=i+1;j<num.length;j++) { if(num[i]>num[j]) { k=num[i]; num[i]=num[j]; num[j]=k; } } System.out.println(Arrays.toString(num)); } }
测试截图:
插入排序:
import java.util.Arrays; public class sort { public static void main(String [] args) { int []num= {1,5,6,9,8,2,3}; int i,j,k; for(i=1;i<num.length;i++) { k=num[i]; for(j=i-1;j>0&&k<num[j];j--) { num[j+1]=num[j]; } num[j+1]=k; } System.out.println(Arrays.toString(num)); } }
测试截图:
(2)使用工具类随机生成5个数字,然后使用工具类对这5个数字排序
import java.util.Arrays; import java.util.Random; public class sort { public static void main(String [] args) { Random random=new Random(); int []num=new int[5]; for(int i=0;i<num.length;i++) { num[i]=random.nextInt(1000); } Arrays.sort(num); System.out.println(Arrays.toString(num)); } }
测试截图:
(3)自定义一个方法,当用户随便输入两个数时,便能比较大小
import java.util.*; public class sort { public static void main(String [] args) { Scanner sc=new Scanner(System.in); System.out.println("请输入两个数:"); int m=sc.nextInt(); int n=sc.nextInt(); int result=compare(m,n); if(result==0) System.out.println("两个数一样大!"); else System.out.println("比较大的数是:"+result); } public static int compare(int a,int b) { int bigger; if(a>b) bigger=a; else if(a<b) bigger=b; else bigger=0; return bigger; } }
测试结果: