6.Java基础 -二维数组练习题

练习1:冒泡排列学员成绩

使用冒泡排序对输入的5名学员成绩进行降序排列

package com.hz;

import java.util.Arrays;
import java.util.Scanner;

public class Lianxi {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		int nums[] = new int[] {87,100,34,86,87};
		System.out.println(Arrays.toString(nums));
	
		for(int i = 0;i<nums.length-1;i++) {
			
			for(int j = 0;j<nums.length-1-i;j++) {
				if(nums[j] > nums[j+1]) {
					int temp = nums[j];
					nums[j] = nums[j+1];
					nums[j+1] = temp;
				}
				
			}
			
		}
		System.out.println(Arrays.toString(nums));
	}
	

}

 运行结果:

[87, 100, 34, 86, 87]
[34, 86, 87, 87, 100]

练习2:Arrays类排列字符

使用Arrays类升序排列一组字符,并查找某个特殊字符在升序后数组中的位置

package com.hz;

import java.util.Arrays;
import java.util.Scanner;

public class Lianxi1 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
	
		Scanner sc = new Scanner(System.in);
		int s = sc.nextInt();
		int nums[] = new int[s];
		for(int i = 0; i <s; i ++){
			nums[i] = sc.nextInt();
		}
		Arrays.sort(nums);
	System.out.println(Arrays.toString(nums));
	int x = sc.nextInt();
	int index = Arrays.binarySearch(nums,x);
	System.out.println(index);
	}

}

 运行结果:

3
12
12
23
[12, 12, 23]

练习3:显示班级学生总成绩

已知有3个班级各5名学员,请使用   二维数组计算各个班级的总成绩

package com.hz;

import java.util.*;
import java.util.Scanner;

public class Lianxi2 {
		public static void main(String[] args) {
			Scanner sc = new Scanner(System.in);
			System.out.println("多少班级:");
			int q = sc.nextInt();
			int d = sc.nextInt();
			double z = 0;
			double f[][] = new double[q][d];
			for(int i = 0;i<f.length;i++ ) {
				System.out.println("******第"+(i+1)+"个班******");
					for(int j = 0;j<f[i].length;j++ ) {
					System.out.print("请输入第"+(j+1)+"个学生的成绩:");
					f[i][j] = sc.nextDouble();
					z = z+f[i][j] ;
				}														
			}
			System.out.println("********成绩统计********");
			int total; //保存总成绩
	        for(int i = 0; i < f.length; i++) {
	            String str = (i+1) + "班";
	            total = 0; //每次循环到此都将其归0
	            for(int j = 0; j < f[i].length; j++) {
	                total += f[i][j]; //成绩叠加
	            }
	            System.out.println(str+"总成绩:" + total);
	        }
		}
}

运行结果:

多少班级:
3
3
******第1个班******
请输入第1个学生的成绩:12
请输入第2个学生的成绩:122
请输入第3个学生的成绩:22
******第2个班******
请输入第1个学生的成绩:333
请输入第2个学生的成绩:22
请输入第3个学生的成绩:1
******第3个班******
请输入第1个学生的成绩:1
请输入第2个学生的成绩:2
请输入第3个学生的成绩:3
********成绩统计********
1班总成绩:156
2班总成绩:356
3班总成绩:6

其他-公鸡5文钱一只,母鸡3文钱一只,小鸡一文钱三只,100文钱

package com.hz;

public class Lianxi1 {

	public static void main(String[] args) {
		/*公鸡5文钱一只,母鸡3文钱一只,小鸡一文钱三只,100文钱	
		 * 
		 */
		for(int x =0 ;x < 20;x++) {
		
			for(int y = 0;y<33;y++) {
				int z = 100-(x+y);
				if((5*x+3*y+z/3)==100&&(z%3==0)) {	
					
					System.out.println("公鸡"+x+"+母鸡"+y+"+小鸡"+z+"="+(x+y+z));
					
				}
			}
		}
	}

}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

懒洋洋大魔王

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值