第六次作业
1、给定一个有9个整数(1,6,2,3,9,4,5,7,8)的数组,先排序,然后输出排序后的数组的值。
public static void main(String[] args) { int[] a = new int[] {1,6,2,3,9,4,5,7,8}; // 第一个for里面的i控制的是数组里的第几个索引位置的元素 for(int i = 0;i<a.length;i++){ // 第二个for里面的j控制的是和后面的人比较的次数 for(int j = 0; j<a.length-i-1;j++){ if(a[j]>a[j+1]){ int temp = a[j]; a[j] = a[j+1]; a[j+1] = temp; } } } System.out.println(Arrays.toString(a)); }
2、 输出一个double型二维数组(长度分别为5、4,值自己设定)的值。
public static void main(String[] args) { //第一个中括号代表个数,第二个代表括号里面的个数 double[][] a = {{1,2,3,4},{1,2,3,4},{1,2,3,4},{1,2,3,4},{1,2,3,4}}; for(int i = 0;i<5;i++){ for(int j = 0;j<4;j++){ System.out.print(a[i][j]+" "); } System.out.println('\n'); } }
3、 在一个有8个整数(18,25,7,36,13,2,89,63)的数组中找出其中最大的数及其下标。
public static void main(String[] args) { int[] a = {18,25,7,36,13,2,89,63}; int max = a[0]; for(int i = 0; i<a.length;i++){ if(max<a[i]){ max = a[i]; } } int index = Arrays.binarySearch(a, max); System.out.println("元素" + max + "在第" + index + "个位置"); System.out.println("最大值为"+max);
}
4、将一个数组中的元素逆序存放
public static void main(String[] args) { int[] a = {1,2,3,4,5,6,7,8,9}; for(int i = 0;i<a.length;i++){ for(int j = 0 ;j<a.length-i-1;j++){ if(a[j]<a[j+1]){ int temp = a[j]; a[j] = a[j+1]; a[j+1] = temp; } } } System.out.println(Arrays.toString(a)); }
5. 将一个数组中的重复元素保留一个其他的清零。
public static void main(String[] args) { int[] a = {1,2,3,4,5,6,7,7,8,9}; for(int i = 0;i<a.length;i++){ for(int j = 0 ;j<a.length-i-1;j++){ if(a[j]==a[j+1]){ a[j] = 0; } } } System.out.println(Arrays.toString(a)); }
6、给定一维数组{ -10,2,3,246,-100,0,5},计算出数组中的平均值、最大值、最小值。
public static void main(String[] args){ int[] a = {-10,2,3,246,-100,0,5}; int sum = 0; int max = a[0]; int min = a[0]; for(int i = 0;i<a.length;i++){ sum = sum+a[i]; } System.out.println("平均值"+sum/a.length); for(int i = 1;i<a.length;i++){ if(max<a[i]){ max = a[i]; } } System.out.println("最大值"+max); for(int i = 1;i<a.length;i++){ if(min>a[i]){ min = a[i]; } } System.out.println("最小值"+min); }
7、使用数组存放裴波那契数列的前20项 ,并输出
public static void main(String[] args){ int[] a = new int[20]; a[0] = 1; a[1] = 1; for(int i=2;i<a.length;i++){ a[i] = a[i-2]+a[i-1]; } System.out.println(Arrays.toString(a)); }
8、生成一个长度为10的随机整数数组(每个数都是0-100之间),输出,排序后,再输出
public static void main(String[] args){ Random r = new Random(); int[] a = new int[10]; for(int i=0;i<a.length;i++){ a[i] = r.nextInt(100); } System.out.println(Arrays.toString(a)); Arrays.sort(a); System.out.println(Arrays.toString(a)); }
9、做一个菜单切换程序。主菜单1.登陆 2.注册 3幸运抽奖 4 退出。每个菜单可以返回主菜单
public static void main(String[] args){
menus();
}
public static void menus(){ System.out.println("1.登录"); System.out.println("2.注册"); System.out.println("3.幸运数"); System.out.println("4.退出系统"); System.out.println("请输入您的选择"); int a = input.nextInt(); switch(a){ case 1: login(); break; case 2: register(); break; case 3: lucky(); break; case 4: System.out.println("欢迎下次使用"); System.exit(0); } } public static Map<Integer,String> dict = new HashMap<>(); public static void register(){ System.out.println("请输入您要注册的账号"); int account = input.nextInt(); int j =1; if(dict.containsKey(account)){ System.out.println("您输入的账号已经存在,请重新输入"); register(); } else{ System.out.println("请输入您设置的密码"); String password = input.next(); System.out.println("请再次输入您设置的密码"); String passwords = input.next(); do{ if(password.equals(passwords)){ dict.put(account, passwords); System.out.println("注册成功!"); menus(); }else{ if(j == 3){ System.out.println("您已经输入错误三次将返回菜单!"); menus(); } j +=1; System.out.println("请再次输入您设置的密码"); password = input.next(); } }while(true); } } public static void login(){ System.out.println("请输入您要登录的账号"); int account = input.nextInt(); int j =1; if(dict.containsKey(account) == false){ System.out.println("您输入的账号不存在,请重新输入"); login(); } else{ String password = dict.get(account); System.out.println("请输入您设置的密码"); String passwords = input.next(); do{ if(password.equals(passwords)){ System.out.println("登录成功!"); menus(); }else{ if(j == 3){ System.out.println("您已经输入错误三次将返回菜单!"); menus(); } j +=1; System.out.println("请再次输入您设置的密码"); passwords = input.next(); } }while(true); } } public static void lucky(){ Random r = new Random(); int random = r.nextInt(100); System.out.println("请输入您选择的幸运数字"); int a = input.nextInt(); if(random == a){ System.out.println("哇!您真幸运猜中了!"); menus(); }else{ System.out.println("很遗憾您没猜中这次的幸运数字是"+random); menus(); } }