看着很简单, 把输入的数字, 累加, 然后除以总个数就行了
主要是判断输入条件, 结束的时候的输出条件
第一步:
我们先把输入数字,定义累加总和, 计算个数
System.out.println("请输入你要计算的数字,按-1结束:");
Scanner in = new Scanner(System.in);
int number=0;
int count=0;
int sum=0;
第二步:
结束条件是当输入-1 的时候, 结束
while(number!=-1){
sum+=number;
number=in.nextInt();
count++;
}
第三步:
当输入-1时, 判断count的值是多少, 仔细观察, 我们会发现, 我们输入-1 的事后, count也加一了, 所以, 算结果的时候我们要对count 减一.
System.out.println("要计算的平均数是:"+(double)sum/(count-1));
第四步:
验证特殊情况, 就是当我们直接输入-1 ,的时候, count也加一了, 但是我们不能让他参加运算, 因为count=1 , 再减去一, 就变成0了, 0不能当分母, 所以要把特殊情况考虑一下:
当count=1, number= - 1 时 , 就是我们直接输入 -1 时, 不让他参加运算,
并且我们正常计算输入 - 1 作为结束条件的, 依然要参加运算.
我们用到逻辑 或运算 " || "
当count >1 或者 number 不等于-1 的时候, 可以参加运算 , 这样就把输入-1 ,的情况排除在外了,
if(count>1||number!=-1)
{
System.out.println("要计算的平均数是:"+(double)sum/(count-1));
}else
{
System.out.println("输入结束!");
所以我们得出一个结论, 就是如果想把一个特殊条件排除在外, 并且其中符合一部分条件的仍参加运算, 就用逻辑或运算 ,把特殊条件的极端条件列在两边, 同时不符合, 就可以排除在外了.
源代码如下:
import java.util.Scanner;
public class Main_7_08{
public static void main(String[] args){
System.out.println("请输入你要计算的数字,按-1结束:");
Scanner in = new Scanner(System.in);
int number=0;
int count=0;
int sum=0;
while(number!=-1){
sum+=number;
number=in.nextInt();
count++;
}
if(count>1||number!=-1)
{
System.out.println("要计算的平均数是:"+(double)sum/(count-1));
}else
{
System.out.println("输入结束!");
}
}
}