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] + " ");
}
}
}
版权声明:本文为MoerPerfect原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。