首页 > 代码库 > 数组应用
数组应用
1 有数组{1,3,0,56,64,0,0,0,99,37},请去掉所有的为0的值,将不为0的值存入一个新的数组,并按照从大到小排序后输出
package zuoye;
public class zuoye0413 {
public static void main(String[] args) {
int a[]=new int[]{1,3,0,56,64,0,0,0,99,37};
int b[]=new int[6];
int j=0;
for(int i=0;i<a.length;i++){
if(a[i]>0){
b[j]=a[i];
j++;
}
}
for(int i=1;i<6;i++){
for(int n=0;n<6-i;n++){
if(b[n]>b[n+1]){
int num=b[n];
b[n]=b[n+1];
b[n+1]=num;
}
}
}
for(int i=0;i<6;i++){
System.out.print(b[i]+" ");
}
}
}
2 班级有30位学生,使用二维数组保存3门考试成绩(Java基础,JavaOO,JavaWeb),(成绩使用随机数生成),然后获取每门成绩的平均分,同时显示每科成绩的前5名的分数
package zuoye;
public class zuoye0413 {
public static void main(String[] args) {
int num[][]=new int[3][30];
for(int i=0;i<3;i++){
for(int j=0;j<30;j++){
num[i][j]=(int)(Math.random()*51+50);
}
}
for(int i=0;i<3;i++){
for(int j=0;j<30;j++){
for(int a=1;a<=num[i].length;a++){
for(int c=0;c<num[i].length-a;c++){
if(num[i][c]<num[i][c+1]){
int b=num[i][c+1];
num[i][c+1]=num[i][c];
num[i][c]=b;
}
}
}
System.out.print(num[i][j]+"\t");
}
System.out.println();
}
int b=0;
for(int i=0;i<3;i++){
int a=0;
for(int j=0;j<30;j++){
a+=num[i][j];
}
b=a/num[i].length;
System.out.println("第"+(i+1)+"门课的平均分是:"+b);
System.out.print("第"+(i+1)+"门课的前五名分数是:");
for(int j=1;j<6;j++){
System.out.print(num[i][j]+" ");
}
System.out.println();
}
}
}
数组应用