JAVA第六次作业
1、给定一个有9个整数(1,6,2,3,9,4,5,7,8)的数组,先排序,然后输出排序后的数组的值。
package xhy; import java.util.Arrays; public class app { public static void main(String[] args) { // TODO Auto-generated method stub int[]a= {1,6,2,3,9,4,5,7,8}; Arrays.sort(a); for(int i:a) { System.out.println(i); } } }
2、 输出一个double型二维数组(长度分别为5、4,值自己设定)的值。
package xhy; import java.util.Arrays; import java.util.Scanner; public class app { public static void main(String[] args) { // TODO Auto-generated method stub Scanner input=new Scanner(System.in); double [][]arr=new double[5][4]; for(int i=0;i<20;i++){ arr[i/4][i%4]=i; } for(int j=0;j<arr.length;j++){ for(int k=0;k<arr[j].length;k++){ System.out.print(arr[j][k]+"\t"); } System.out.println(); } } }
3、 在一个有8个整数(18,25,7,36,13,2,89,63)的数组中找出其中最大的数及其下标。
package xhy; import java.util.Arrays; import java.util.Scanner; public class app { public static void main(String[] args) { // TODO Auto-generated method stub Scanner input=new Scanner(System.in); int []a= {18,25,7,36,13,2,89,63}; int max=a[0]; int maxidx=0; for(int i=0;i<a.length;i++) { if(a[i]>max) { max=a[i]; maxidx=i; } } System.out.println("数组最大值为"+max+"下标为"+maxidx); } }
4、将一个数组中的元素逆序存放
package xhy; import java.util.Arrays; import java.util.Scanner; public class app { public static void main(String[] args) { // TODO Auto-generated method stub Scanner input=new Scanner(System.in); int []a={10,20,50,30,20,70}; for(int j=0;j<a.length;j++){ System.out.print(a[j]+" "); } System.out.println(); System.out.println("倒叙输出"); for(int i=a.length-1;i>=0;i--){ System.out.print(a[i]+" "); } } }
5. 将一个数组中的重复元素保留一个其他的清零。
package xhy; import java.util.Arrays; import java.util.Scanner; public class app { public static void main(String[] args) { // TODO Auto-generated method stub Scanner input=new Scanner(System.in); System.out.println("请输入数组个数"); int a = input.nextInt(); int[] b = new int[a]; for (int c = 0; c < a; c++) { System.out.println("请输入第" + (c + 1) + "个数"); b[c] = input.nextInt(); } for (int d = 0; d < a; d++) { for (int e = 0; e < d; e++) { if (b[e] == b[d]) b[d] = 0; } } System.out.println("结果为"); for (int f : b) { System.out.print(" " + f); } } }
6、给定一维数组{ -10,2,3,246,-100,0,5},计算出数组中的平均值、最大值、最小值。
package xhy; import java.util.Arrays; import java.util.Scanner; public class app { public static void main(String[] args) { // TODO Auto-generated method stub Scanner input=new Scanner(System.in); int[]a= {-10,2,3,246,-100,0,5}; int temp=0; for(int i=0;i<a.length-1;i++) { if(a[i+1]<a[i]) { temp=a[i]; a[i]=a[i+1]; a[i+1]=temp; } } System.out.println("最大值"+a[a.length-1]); for(int i=0;i<a.length-1;i++) { if(a[i+1]>a[i]) { temp=a[i+1]; a[i]=a[i+1]; a[i+1]=temp; } } System.out.println("最小值"+a[a.length-1]); int sum=0; for(int i=0;i<a.length;i++) { sum=sum+a[i]; } System.out.println("平均值"+sum/a.length); } }
7、使用数组存放裴波那契数列的前20项 ,并输出
package xhy; import java.util.Arrays; import java.util.Scanner; public class app { public static void main(String[] args) { // TODO Auto-generated method stub Scanner input=new Scanner(System.in); int num[]=new int[20]; num[0]=1; num[1]=1; System.out.println("斐波那契数列前20项的值如下:"); System.out.println(num[0]+""+num[1]+""); for(int i=2;i<20;i++) { num[i]=num[i-1]+num[i-2]; System.out.println(num[i]+""); } } }
8、生成一个长度为10的随机整数数组(每个数都是0-100之间),输出,排序后,再输出
package xhy; import java.util.Arrays; import java.util.Scanner; public class work { public static void main(String[] args) { Scanner input= new Scanner(System.in); int temp=0; int[] a = new int[10]; for (int i = 0; i < 10; i++) { a[i] = input.nextInt(); } for (int i = 0; i < 10; i++) { for (int j = i + 1; j < 10; j++) { if (a[i] > a[j]) { temp = a[i]; a[i] = a[j]; a[j] = temp; } } } for (int i = 0; i < 10; i++) { System.out.print(a[i] + " "); } } }
9、做一个菜单切换程序。主菜单1.登陆 2.注册 3幸运抽奖 4 退出。每个菜单可以返回主菜单
package why; import java.util.Scanner; import java.util.Random; public class menu { public static void showmain() { System.out.println("1.登录"); System.out.println("2.注册"); System.out.println("3.幸运抽奖"); System.out.println("4.退出"); Scanner input=new Scanner(System.in); int i=input.nextInt(); switch (i) { case 1: login(); break; case 2: zhuche(); break; case 3: lucky(); break; case 4: tuichu(); break; } } public static void login() { Scanner input=new Scanner(System.in); System.out.println("输入用户名"); String name=input.next(); System.out.println("输入密码"); String pwd=input.next(); if(name.equals(pwd)) { System.out.println("登陆成功"); }else { System.out.println("登陆失败"); } System.out.println("是否返回主菜单?Y/N"); if(input.next().equalsIgnoreCase("y")) showmain(); else System.out.println("谢谢使用"); } public static void zhuche() { Scanner input=new Scanner(System.in); System.out.println("输入用户名"); String a=input.next(); System.out.println("输入密码"); String b=input.next(); if(b.equals(a)) { System.out.println("登陆成功,请返回主菜单"); showmain(); }else { System.out.println("登陆失败,请重新登录"); zhuche(); } } public static void lucky() { Random r=new Random(); System.out.println("幸运抽奖,请输入一个数(0-100)"); Scanner input=new Scanner(System.in); int i=input.nextInt(); int q=r.nextInt(101); if(i==q) { System.out.println("恭喜你,中奖了,再抽一次"); lucky(); }else { System.out.println("很遗憾,未中奖,返回主菜单"); showmain(); } } public static void tuichu() { System.out.println("谢谢使用"); } public static void main(String[] args) { showmain(); } }