一维数值数组之成绩统计
代码如下:
/*
任务:仔细阅读给出的代码框架及注释,在 Begin-End 间编写程序代码,求班级数学平均成绩,具体要求如下:
- 接收给定的数据(如:4,88,43,43,98,#...,其中第一个数代表数组长度,其余数代表班级所有人数学成绩,# 号用于终止接收数据),遇到 # 号终止接收;
- 求班级数学平均成绩,平均成绩用 double 类型表示。
注意:数字分隔符为中文逗号。
*/
import java.util.Scanner;
public class ArrTest {
public static void main(String[] args) {
// 请在Begin-End间编写代码
/********** Begin **********/
// 第一步:接收给定的第一个数,用于定义数组长度
int n=0; // 定义变量n,并赋初值0,用于统计人数
int sum=0; // 定义变量sum,并赋初值0,用于求成绩和
Scanner scanner = new Scanner(System.in);
int i = scanner.nextInt();
// 第二步:定义数组
int[] ints = new int[i];
// 第三步:把成绩赋值给数组元素
while (!scanner.hasNext("#")){
int x = scanner.nextInt();
ints[n]=x;
n++;
}
// 第四步:求所有成绩的和
for(int a:ints){
sum+=a;
}
// 第五步:求平均成绩
double avg=(double)sum/n;
System.out.print("数学平均成绩为:"+avg);
/********** End **********/
}
}
二维数值数组之多科成绩统计
代码如下:
/*
* 任务:统计每人的平均分。
* 输出样式:x号学生的总分:y
*
* */
public class PassWord {
public static void main(String[] args) {
// 创建二维数组存储所有人的成绩
int[][] arr = new int[][]{{90,88,87},{89,90,77},{66,78,60},{77,90,90},{89,78,67},{78,87,88}};
// 请在 Begin-End 间编写代码
/********** Begin **********/
// 第一步:对每个人的各科成绩求和
int x,y;
for( x=0;x<arr.length;x++){
int sum=0;
for(y=0;y<arr[x].length;y++){
sum+=arr[x][y];
}
// 第二步:输出每个人的总分
System.out.println(x+1+"号学生的总分:"+sum);
}
/********** End **********/
}
}
foreach遍历数组之正负数数量统计
代码如下:
import java.util.Scanner;
public class ForeachTest {
public static void main(String[] args) {
// 请在Begin-End间编写代码
/********** Begin **********/
// 接收给定一行整数
Scanner scanner = new Scanner(System.in);
int i = scanner.nextInt();
// 创建数组
int[] arr = new int[i];
// 把给定整数添加到数组中
for(int n=0;n<arr.length;n++){
arr[n]=scanner.nextInt();
}
// 获取数组中的每个数,统计正负数个数
int positive=0; // 统计正数个数
int negative=0; // 统计负数个数
for (int x:arr){
if(x>0){
positive++;
}
else if(x<0){
negative++;
}
}
// 输出结果
System.out.print("正数个数:"+positive+"。负数个数:"+negative+"。");
/********** End **********/
}
}