JAVA day04:代码练习(数组部分)

题目1:一维数组的应用

从控制台输入6名员工的工资装入数组
遍历输出。
计算出6名员工的总工资和平均工资
工资使用double类型
思路提示
循环外定义变量存储工资的和,然后在循环体中使用“+=”累加数组中每个元素。

Scanner sc=new Scanner(System.in);
Double[] gongZi=new Double[6];
double sum=0;//总工资
double avg=0;//平均工资
for (int i = 0; i < 6; i++) {
	System.out.print("请输入第"+(i+1)+"名员工的工资:");
	gongZi[i]=sc.nextDouble();
	sum+=gongZi[i];
}
for (int i = 0; i < gongZi.length; i++) {
	System.out.println("第"+(i+1)+"名员工的工资为:"+gongZi[i]);
}
System.out.println("六名员工工资和为:"+sum);
avg=sum/gongZi.length;
System.out.println("六名员工平均工资为:"+avg);

题目2:一维数组的应用

需求:
从控制台输入小组成员的姓名,然后遍历输出小组成员的姓名。
思路提示:
首先确定小组成员,动态初始化数组
根据输入的姓名给数组赋值。
遍历字符串数组

Scanner sc=new Scanner(System.in);
String[] nameArr=new String[5];
for (int i = 0; i < 5; i++) {
	System.out.println("请输入第"+(i+1)+"名小组成员的姓名:");
	nameArr[i]=sc.next();

}
for (int i = 0; i < nameArr.length; i++) {
	System.out.println("第"+(i+1)+"名小组成员的姓名:"+nameArr[i]);
}

题目3:一维数组的应用

需求:
查找元素:查找班级指定同学姓名。 

思路分析:
定义一个空数组,将班级中十位同学的名字存到数组中。
从键盘任意输入一个名字,判断该同学是否是这个班级的同学。

String[] nameArr= {"淳淳","星星","宇宇","吉吉","艺艺","学学","云云","扫扫","一一","泉泉"};
boolean cunZai=false;
System.out.println("请输入姓名:");
Scanner sc=new Scanner(System.in);
String str=sc.next();
for (int i = 0; i < nameArr.length; i++) {
	if (str.equals(nameArr[i])) {
		System.out.println("是这个班级的同学");
		cunZai=true;
		break;
	}
}
if(cunZai==false){
	System.out.println("不是这个班级的同学");
}

题目4:一维数组的应用

案例介绍:
定义一个有7个元素的数组,从键盘任意输入一个数,判断是否在数组中存在, 如果存在,提示“猜对了”,否则输出“Sorry!!”。

需求说明:
数组元素为图中规定数据
键盘输入数据
用两种方式实现

int[] numArr = {1,6,8,9,54,66,88};
boolean cunZai=false;
System.out.println("请输入猜的数字:");
Scanner sc=new Scanner(System.in);
int num=sc.nextInt();
for (int i = 0; i < numArr.length; i++) {
	if (num==numArr[i]) {
		System.out.println("猜对了");
		cunZai=true;
		break;
	}
}
if(cunZai==false){
	System.out.println("Sorry");
}

 题目5:一维数组的应用

有这样一个数列:12,23,13,44,123,456
求这个数列的最小值

int[] arr = {12,23,13,44,123,456};
int min=arr[0];
for(int i=0;i<arr.length;i++){
	if(arr[i]<min){
		min=arr[i];
	}
}
System.out.println("最小数为"+min);

(进阶)题目6:一维数组的应用

案例需求:完成学生管理系统

案例思路:
通过键盘录入学生成绩存入成绩数组。
通过调用方法实现最高分,最低分,总分,
平均分及成材率的功能。

Scanner sc=new Scanner(System.in);
double[] fenShuArr=new double[7];
for (int i = 0; i < fenShuArr.length; i++) {
	System.out.println("请输入第"+(i+1)+"科分数:");
	fenShuArr[i]=sc.nextDouble();
}
double max=fenShuArr[0];//最高分
double min= fenShuArr[0];//最低分
double sum=0;//总分
double avg=0;//平均分
double chengCai=0;//成材率
for (int i = 0; i < fenShuArr.length; i++) {
	if( fenShuArr[i]<min){
		min=fenShuArr[i];
	}else if(fenShuArr[i]>max){
		max=fenShuArr[i];
	}
	sum+=fenShuArr[i];
}
avg=sum/fenShuArr.length;
chengCai=avg/100;
System.out.println("这位同学的最高分为:"+max+"最低分为:"+min);
System.out.println("这位同学的平均分为:"+avg+"成材率为:"+chengCai);

(进阶)题目7:二维数组的应用

需求:
从键盘输入2名学生的数学,语文,英语成绩放入二维数组,然后遍历输出。

思路提示:
动态初始化二维数组(两行三列)
使用for循环从键盘输入数据,给二维数组元素赋值
For循环中依次输入数学,语文,英语成绩。输入后通过下标赋值给数组元素
使用两层for循环遍历数组

double[][] arr = new double[2][3];
//arr1[0] = new int[]{1, 2,3};
//arr1[1] = new int[]{3, 4,4};
String[] keMuArr={"数学","语文","英语"};
Scanner sc=new Scanner(System.in);
for (int i = 0; i < arr.length; i++) {
	for (int j = 0; j < arr[0].length; j++) {
		System.out.println("请输入第"+(i+1)+"名同学的"+keMuArr[j]+"成绩:");
		double chengJi=sc.nextDouble();
		arr[i][j]=chengJi;
	}
}
for (int i = 0; i < arr.length; i++) {
	for (int j = 0; j < arr[0].length; j++) {
		System.out.println("第"+(i+1)+"名同学的"+keMuArr[j]+"成绩:"+arr[i][j]);
	}
}

题目8:一维数组的应用

定义一个数组,长度为5并给数组分别赋值{“张三”、“李四”,“王五”,“赵六”,“钱七”},然后通过for循环进行对数组进行遍历。 

String[] arr=new String[5];
arr[0]="张三";
arr[1]="李四";
arr[2]="王五";
arr[3]="赵六";
arr[4]="钱七";
for (int i = 0; i < arr.length; i++) {
	System.out.println(arr[i]);
}

(进阶)题目9:选择结构、循环、一维数组的应用

自定义一个数组里面有7个元素的数组,从键盘任意输入一个数,判断是否在数组中存在, 如果存在,提示“猜对了”,否则输出“Sorry!!”。

int[] numArr = {1,6,8,9,54,66,88};
boolean cunZai=false;
System.out.println("请输入猜的数字:");
Scanner sc=new Scanner(System.in);
int num=sc.nextInt();
for (int i = 0; i < numArr.length; i++) {
	if (num==numArr[i]) {
		System.out.println("猜对了");
		cunZai=true;
		break;
	}
}
if(cunZai==false){
	System.out.println("Sorry");
}

题目10:一维数组的应用

依次从键盘录入数组元素,然后把数组元素逆序输出 (就是把元素对调)

int[] arr=new int[10];
Scanner sc=new Scanner(System.in);
int num=0;
for (int i = 0; i < arr.length; i++) {
	System.out.println("请输入第"+(i+1)+"个数字:");
	num=sc.nextInt();
	arr[i]=num;
} 
for (int i = arr.length-1; i >=0 ; i--) {
	System.out.println("第"+(arr.length-i)+"个数字:"+arr[i]);
} 

 (拔高)题目11:综合练习

评分标准:
(1) 正确定义类(5分)
(2) 控制台录入10名学生的成绩(5分)
(3) 将学生的成绩存入数组(5分)
(4) 计算平均分(10分)
(5) 计算成绩总和(10分)
(6) 计算成材率(10分)
(7) 求出最大成绩(5分)

Scanner sc=new Scanner(System.in);
double[] fenShuArr=new double[10];
double sum=0;//总分
double avg=0;//平均分
double chengCai=0;//成材率
for (int i = 0; i < fenShuArr.length; i++) {
	System.out.println("请输入第"+(i+1)+"个同学分数:");
	fenShuArr[i]=sc.nextDouble();
}
double max=fenShuArr[0];//最高分
double min= fenShuArr[0];//最低分//记得放在数组有值之后
System.out.println("各个同学的得分是:");
for (int i = 0; i < fenShuArr.length; i++) {
	System.out.print(fenShuArr[i]+"\t");
	if(fenShuArr[i]>90){
		chengCai++;
	}else if( fenShuArr[i]<min){
		min=fenShuArr[i];
	}else if(fenShuArr[i]>max){
		max=fenShuArr[i];
	}
	sum+=fenShuArr[i];
}
avg=sum/fenShuArr.length;
chengCai=chengCai*100/fenShuArr.length;
System.out.println("\n最高分为:"+max);
System.out.println("最低分为:"+min);
System.out.println(fenShuArr.length+"位同学的成绩和为:"+sum);
System.out.println(fenShuArr.length+"位同学的平均分为:"+avg);
System.out.println(fenShuArr.length+"位同学的成材率为:"+chengCai+"%");
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值