如何写一个程序计算用户输入的数字的平均数?
之前讲过
3-4-2 算平均数-用-1当做截止符-while与dowhile的差别
完善之后:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int number;
double count = 0;
int sum = 0;
number = in.nextInt();
while( number != -1 )
{
sum += number;
count ++;
number = in.nextInt();
}
if ( cnt > 0)
{
System.out.println("平均数="+sum/count);
}
}
}
优点:不需要记录输入的每一个数
如何计算平均数,并输出所有大于平均数的数
1.记录每一个数
2.算平均数
3.数与平均数比较,确定是否输出
4.输出
思路1:
int num1,num2,num3............
不科学
引入数组
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int number ;
int[] numbers = new int[100];
// 定义数组,创建数组number,里面都是int,一共100个
double sum = 0;
int count = 0;
number = in.nextInt();
while( number != -1 )
{
numbers[count] = number ;
// 赋值数组的元素
// number[0/1/2/3] = x;
sum += number;
count ++;
number = in.nextInt();
}
if ( count > 0)
{
double average = sum / count;
for (int i = 0; i < count; i++ )
// 整个for——遍历数组,从0到count
{
if (numbers[i] > average)
{
System.out.println(numbers[i]);
}
// 整个if——使用数组中的元素
}
System.out.println("平均数="+sum/count);
}
}
}
重点:
1.新东西——数组——看注释
2.new以后再说
5.第一个数是0
numbers[count] = number ;
// 赋值数组的元素
// number[0/1/2/3] = x;
错:
3.如果count是double麻烦,所以sum是double,才会算出double;average是double才能输出double
double sum = 0;
double average = sum / count;
4.不要漏
number = in.nextInt();
最后,老师说这个程序有安全隐患,预知后事如何,请看下一篇