初学Java3:数组-从键盘录入若干学生的成绩,计算平均值,最大值,最小值

//任务:从键盘录入若干学生的成绩,计算平均值,最大值,最小值
package com.azhi;//纠正昨天的包名,今天老师说要以反域名命名,昨天还不知道,今天就这么弄了一个
import java.util.Scanner;
public class Text_Array {
public static void main(String[] args){
Scanner sc=new Scanner(System.in);//从键盘输入
System.out.print("请输入学生个数:");
int num=sc.nextInt();//等待输入
double[] nums=new double[num];
for(int i=0;i System.out.print("请输入第"+(i+1)+"个学生的成绩:");
nums[i]=sc.nextDouble();
}
double result=0;
double avg=0;
for(double n:nums){
result+=n;
avg=result/num;
}
System.out.println("学生的平均成绩为:"+avg);
/*============================================================*/
int i=0;
double max=0;
for(i=0;i if(nums[i]>max){
max=nums[i];
}
}
System.out.print("他们之中的最高成绩是:"+max);
/*============================================================*/
int j=0;
double min=nums[0];
for(j=1;j<=nums.length;j++){
if(min>nums[j]){
min=nums[j];
}
}
System.out.print("\n他们之中的最低成绩是:"+min);
sc.close();//关闭输入流,节省内存,充分利用资源,据说初学者了解意义不大,一个学Java已久的朋友给说的,说有必要养成好习惯
}
}

  这是今天学习数组之后做的一个练习。这个题后面求最大最小只其实可以简写,但是为了区分故分开。

  今天首要的问题就是数组中求最大最小值,开始不太懂,后来才明白,即对于在数组中求最大最小值,最简单的办法就是利用“打擂台”的方法,即声明一个变量,如max,再在循环中依次与各个元素做比较,遇到大于max的元素时,将该元素赋值给max,然后再循环、比较、赋值。其次最大的问题就是当数组,循环,选择合在一起来做的题目,个人基本是蒙的,可能是知识点掌握不够,可能是理解还有问题,那几个题目难住我一下午加一晚上了,头都昏了,明天听听老师讲吧。

今天知识点:
  数组有这几个特点:1,每个元素都是连续储存的。2,每个元素储存的空间一样大。3,数组可以做到检索快速。4,数组储存空间的大小一旦分配,不可改变。

  其他:1,利用length的属性做实现的for循环可以这样写了:for(int i=0;i
  不同数据类型在数组中对应的默认值:char--□;int--0;long--0;float--0;double--0;String--null;
                                                                      A_zhi
                                                                2016.08.15.23.00

转载于:https://www.cnblogs.com/a-zhi/p/5774766.html

你可能感兴趣的:(初学Java3:数组-从键盘录入若干学生的成绩,计算平均值,最大值,最小值)