【发布时间】:2014-12-19 16:03:04
【问题描述】:
我必须制作一个程序,允许用户输入整数,直到他按下“0”。该程序必须打印: 1)输入数字的总数 2)正数 3)正数的平均值 4)负数 5) 负数之和
到目前为止,我所能做的就是“输入直到按下'0'”并找到输入的数字的数量,这对我和我的编程技能来说非常重要。我在试图找出这个数字是正数还是负数时遇到了麻烦。可能我没有正确比较它们,所以如果我能从高级的人那里得到一点帮助,我会很高兴。
到目前为止,这是我的代码:
import java.io.*;
class Nums {
public static void main(String args[])
throws IOException
{
BufferedReader br = new BufferedReader(new
InputStreamReader(System.in));
String str;
int EnteredNumbers = -1;
int Positive = 0;
int Negative = 0;
int NegativeSum = 0;
double AveragePositive = 0;
System.out.println("Enter '0' to quit.");
System.out.println("Enter Numbers: ");
do {
EnteredNumbers++;
str = br.readLine();
} while(!str.equals("0"));
System.out.println("You have have entered "+EnteredNumbers+ " numbers!");
System.out.println("You have have entered "+Positive+ " Positive numbers!");
System.out.println("The Average of the Positive Numebers is "+AveragePositive+ "!");
System.out.println("You have have entered "+Negative+ " Negative numbers!");
System.out.println("The Sum of the Negative numbers is "+NegativeSum+ "!");
}
}
【问题讨论】:
-
boolean isNeg=false; if(str.startsWith("-")){ str=str.substring(1); isNeg=true; } int NUMBER=Integer.parseInt(str); if(isNeg) { NUMBER*=-1; }这样的事情? -
顺便说一句,请注意命名变量的良好做法。他们不应该是资本
标签: java