java数组——20题练习(3-5题)

3、练习:
        1、从键盘输入本组学员的成绩,放到数组中
        2、用for循环显示所有学员的成绩
        3、排序:从低到高
        4、查找是否有正好60分的,如果有返回位置
        5、复制成绩最低三名构成新数组
        6、用工具类打印成绩最低三名成绩

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

public class Exer3 {
	public static void main(String[] args){
		Scanner scan = new Scanner(System.in);
		System.out.println("请输入本组人数:");
		int num = scan.nextInt();
		
		//1、声明一个数组并创建
		int[] scores = new int[num];
		
		//2、从键盘一次输入本组学员的成绩
		for (int i = 0;i < scores.length;i++){
			
			System.out.println("请输入第" + (i+1) +"名学员的成绩:范围(0-100)");
			//将成绩存在数组的元素中,为元素赋值
			scores[i] = scan.nextInt();
		}
		
		//3、显示本组学员的成绩
		System.out.println("本组的学员成绩如下:");
		for(int i = 0;i < scores.length;i++){
			System.out.println("本组第" + (i + 1) + "名学员的成绩为:" + scores[i]);
		}
		
		//4、排序:从低到高
		Arrays.sort(scores);
		
		System.out.println("从低到高的排序结果为:" + Arrays.toString(scores));
		
		//5、查询60分
		int index = Arrays.binarySearch(scores, 60);
		if(index < 0){
			System.out.println("没有刚好60分的学员。");
		}else{
			System.out.println("60分的索引数:" + index);
		}
		
		//6、复制成绩最低的三位组成新的数组
		int[] minArrays = Arrays.copyOf(scores, 3);
		
		//7、用工具类打印最低三位的成绩
		System.out.println("最低的三位学员的成绩为:" + Arrays.toString(minArrays));
		
		
	}
}

4、数组赋值练习1
        创建一个char类型的26个元素的数组,分别 放置'A'-'Z'。
        使用for循环访问所有元素并打印出来。

public class Exer4 {
	public static void main(String[] args){
		char[] arr = new char[26];
		char j = 65;
		
		for(int i = 0;i < arr.length;i++){
			if(arr[i] == 0){
				arr[i] = j;
			}
			j++;
		}
		
		for(int i = 0;i < arr.length;i++){
			System.out.print(arr[i] + " ");
		}
	}
}

5、数组赋值练习2
        创建一个char类型的36个元素的数组,前26个元素放置'A'-'Z',   后10个元素放置'0'-'9'。
        使用for循环访问所有元素并打印出来。
        提示:char类型数据运算 'A'+1 -> 'B','0'+1 -> '1'

public class Exer5 {
	public static void main(String[] args){
		//1.声明第一个数组(前26位,存放A-Z)并创建
		char[] arr1 = new char[26];
		
		//2.声明第二个数组(后10位,存放0-9)并创建
		char[] arr2 = new char[10];
		
		//ASCII中0-9为:48-58
		char k = 48;
		
		//ASCII中A-Z为:65-91
		char j = 65;
		
		//对前26位字母数组进行依次赋值
		for(int i = 0;i < arr1.length;i++){
			if(arr1[i] == 0){
				arr1[i] = j;
			}
			j++;
		}
		
		//对后10位数字进行依次赋值
		for(int i = 0;i < arr2.length;i++){
			if(arr2[i] == 0){
				arr2[i] = k;
			}
			k++;
		}
		
		//创建一个新的数组,用来合并上面两个数组(注意:总长为两个数组长度和)
		char[] arr = new char[arr1.length + arr2.length];
		
		//遍历第一个数组(前26位)的值并赋值到新的数组上
		for(int i = 0;i < arr1.length;i++){
			char num = arr1[i];
			arr[i] = num;
		}
		
		//遍历第二个数组(后10位)的值并赋值到新的数组上
		for(int i = 0;i < arr2.length;i++){
			char num = arr2[i];
			//注意第二个数组进行赋值时,新的数组的长度的起始点
			arr[arr1.length + i] = num;
		}
		
		//遍历最终合并后的新的数组,输出新长为36的数组的数组元素
		for(int i = 0;i < arr.length;i++){
			System.out.print(arr[i] + " ");
		}
	}
}

  • 4
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

MoerPerfect

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

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

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

打赏作者

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

抵扣说明:

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

余额充值