skn4 2015-08-13 01:31 采纳率: 42.9%
浏览 1682
已采纳

大神帮看下我的代码哪里错了?

题目是编写程序,读入未指定个数的整数,判断读入的正数和负数分别有多少个,然后计算这些输入值的总和及其平均值(不对0计数)。当输入为0时,表明程序结束。将平均值以浮点数显示。

import java.util.Scanner;
public class TextXXXXX {
public static void main (String[] args){
Scanner input = new Scanner(System.in);
int count1 = 0 , count2 = 0 , sum = 0 , num;
double avg;
System.out.print("请输入一个整数,输入0时结束:");
num = input.nextInt();
while(num != 0){
System.out.print("请输入一个整数,输入0时结束:");
num = input.nextInt();
while(num > 0)
count1+=1;
while(num < 0)
count2+=1;
sum+=num;
}
avg = sum /(count1 + count2);
System.out.println("整数个数为:" + count1 + " 负数个数为:" + count2);
System.out.println("和为:" + sum);
System.out.println("平均值为:"+ avg);
}
}

  • 写回答

8条回答 默认 最新

  • 丵鹰 2015-08-13 01:46
    关注
     public static void main(String[] args) {
            int count1 = 0, count2 = 0, sum = 0, num;
            double avg;
            for (int i = 1; i >0; i++) {
                Scanner input = new Scanner(System.in);
                System.out.print("请输入一个整数,输入0时结束:");
                num = input.nextInt();
                if (num > 0)
                    count1 += 1;
                if (num < 0)
                    count2 += 1;
                if(num==0){
                    break;
                }
                sum += num;
    
            }
            avg = sum*1.0 / (count1 + count2);
            System.out.println("整数个数为:" + count1 + " 负数个数为:" + count2);
            System.out.println("和为:" + sum);
            System.out.println("平均值为:" + avg);
    
        }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(7条)

报告相同问题?

悬赏问题

  • ¥15 宇视监控服务器无法登录
  • ¥15 PADS Logic 原理图
  • ¥15 PADS Logic 图标
  • ¥15 电脑和power bi环境都是英文如何将日期层次结构转换成英文
  • ¥15 DruidDataSource一直closing
  • ¥20 气象站点数据求取中~
  • ¥15 如何获取APP内弹出的网址链接
  • ¥15 wifi 图标不见了 不知道怎么办 上不了网 变成小地球了
  • ¥50 STM32单片机传感器读取错误
  • ¥50 power BI 从Mysql服务器导入数据,但连接进去后显示表无数据