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

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

题目是编写程序,读入未指定个数的整数,判断读入的正数和负数分别有多少个,然后计算这些输入值的总和及其平均值(不对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条)

报告相同问题?

悬赏问题

  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿
  • ¥15 回答4f系统的像差计算
  • ¥15 java如何提取出pdf里的文字?