二维数组 排序 随机数 练习
顺序排序方法 输出降序
import java.util.*; public class HW5_6_2 { static int x,t=0; //static int[]a=new int[x]; 如此int[]a 有默认值 数组会越界 /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub System.out.println("请输入数组长度"); Scanner sc=new Scanner(System.in); x=sc.nextInt(); int[]a=new int[x];//此处不要在方法外,方法外会给int a[]默认值 if(x<=0){ System.out.println("输入非法"); return; } Scanner sc1=new Scanner(System.in); for(int b=0;b<x;b++){ System.out.println("请输入数组的第"+(b+1)+"个数"); a[b]=sc1.nextInt(); }//至此 数组分配完毕 for(int c=0;c<a.length-1;c++){ for(int d=c+1;d<=a.length-1;d++){ if(a[c]<a[d]){ t=a[c];a[c]=a[d];a[d]=t; } } } System.out.println("降序排列结果为"); for(int e=0;e<a.length;e++){ System.out.print(a[e]+"\t"); } } }
冒泡排序方法 输出降序
import java.util.*; public class HW_6_1 { static int x,t=0; /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub System.out.println("请输入数组长度"); Scanner sc=new Scanner(System.in); x=sc.nextInt(); int[]a=new int[x];//此处不要在方法外,方法外会给int a[]默认值 if(x<=0){ System.out.println("输入非法"); return; } Scanner sc1=new Scanner(System.in); for(int b=0;b<x;b++){ System.out.println("请输入数组的第"+(b+1)+"个数"); a[b]=sc1.nextInt(); }//至此 数组分配完毕 for(int c=0;c<a.length-1;c++){ for(int b=0;b<a.length-1-c;b++){ if(a[b]<a[b+1]){ t=a[b];a[b]=a[b+1];a[b+1]=t; } } } System.out.println("降序排列结果为"); for(int e=0;e<a.length;e++){ System.out.print(a[e]+"\t"); } } }
用最少的次数进行猜数字游戏
要求:1) 玩家输入一个数字,数字的范围在1-100之间,系统获取随机数。
2) 对玩家输入的数字进行判断大小,如果不是系统要求的数字,系统将提示您,
你输入的数字比系统提供的大还是小。
3) 统计一共猜了多少次
import java.util.*; public class HW5_7 { static int a,b,sum=0; /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub b=(int)(Math.random()*100+1); System.out.println("这是个猜数游戏,来猜猜0~100的数字~"); Scanner sc=new Scanner(System.in); a=sc.nextInt(); if(a<=0||a>100){ System.out.println("输入非法"); return; } for(int i=1;i<=100;i++){ if(a>b){ sum+=1; System.out.println("数大了,这是你猜的第"+i+"次,请继续"); a=sc.nextInt(); } else if(a<b){ sum+=1; System.out.println("数小了,这是你猜的第"+i+"次,请继续"); a=sc.nextInt(); } else{ sum+=1; System.out.println("哇塞,你居然猜中了"); break; } } System.out.println("游戏结束你一共猜了"+sum+"次"); } }
定义一个20*5的二维数组,用来存储某班级20位学员的5门课的成绩;这5门课按存储顺序依次为:core C++,coreJava,Servlet,JSP和EJB。
1) 循环给二维数组的每一个元素赋0~100之间的随机整数
2) 要求编写程序求每个学员的总分,将其保留在另外一个一维数组中
3) 要求编写程序求所有学员的某门课程的平均分
import java.util.*; public class HW5_5 { static int[][]g=new int[20][5]; static int[]h=new int[20]; static int c,sum=0; static float e; /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub for(int a=0;a<20;a++){ for(int b=0;b<5;b++){ g[a][b]=(int)(Math.random()*100+1); h[a]+=g[a][b]; System.out.println("第"+(a+1)+"位学生的总成绩为:"+h[a]); } } System.out.println("core C++,coreJava,Servlet,JSP和EJB的代号分别为"); System.out.println("0,1,2,3,4输入查询的课程平均分"); Scanner sc=new Scanner(System.in); c=sc.nextInt(); for(int d=0;d<20;d++){ sum+=g[d][c]; } e=sum/20; System.out.println("所选课程的平均分为"+e); } }