Java整数平均数
我似乎很难弄清楚在read-value方法下如何设置变量intValue。程序应该取10个整数并求其平均值,它可以很好地捕捉异常和输入,但输出将所有数字显示为0(因为我暂时将其设置为0,但无法确定将其更改为什么)。这是密码 软件包驱动程序Java整数平均数,java,Java,我似乎很难弄清楚在read-value方法下如何设置变量intValue。程序应该取10个整数并求其平均值,它可以很好地捕捉异常和输入,但输出将所有数字显示为0(因为我暂时将其设置为0,但无法确定将其更改为什么)。这是密码 软件包驱动程序 import static java.lang.Integer.parseInt; import java.util.Scanner; public class AverageOfIntegers { //Declare variables pr
import static java.lang.Integer.parseInt;
import java.util.Scanner;
public class AverageOfIntegers {
//Declare variables
private int numberOfValues;
private int[] integerValues;
private double average;
public AverageOfIntegers(int numberOfValues){
this.numberOfValues = numberOfValues;
}
//Define the readValues()
public void readValues(){
String stringValue = null;
int intValue = 0, i;
Scanner console = null;
i = 0;
integerValues = new int[numberOfValues];
while(i < numberOfValues){
try
{
console = new Scanner(System.in);
System.out.print("Enter value : ");
//read the value
stringValue = console.nextLine();
//check for number
intValue = 0;
parseInt(stringValue);
//Store only integer values
integerValues[i++] = intValue;
}
catch(NumberFormatException ex)
{
//Catch exception and handle it
System.out.println("Invalid Number entered" + "Reenter again ");
continue;
}
}
}
//read integer values
public void printValues()
{
System.out.println("Given values are ");
for (int i = 0; i < numberOfValues; i++)
{
System.out.println("Number: " + (i + 1) + " = " +
integerValues[i]);
}
}
public double getAverage()
{
int sum = 0;
//Calcualte the sum of integer values
for (int i = 0; i < numberOfValues; i++)
{
sum += integerValues[i];
}
//calculate average
average = (double)sum / numberOfValues;
return(average);
}
}
导入静态java.lang.Integer.parseInt;
导入java.util.Scanner;
整数的公共类平均数{
//声明变量
私有整数值;
私有int[]整型值;
私人双平均;
整数的公共平均值(整数数值){
this.numberOfValues=numberOfValues;
}
//定义readValues()
public void readValues(){
字符串stringValue=null;
int值=0,i;
扫描仪控制台=空;
i=0;
integerValues=新的整数[numberOfValues];
while(i
编辑*问题似乎被标记为重复,但我不是在问为什么分母大于分子的两个整数的除法得到0。更改
//check for number
intValue = 0;
parseInt(stringValue);
至
//check for number
intValue = parseInt(stringValue);
您希望
parseInt(stringValue)
如何神奇地跳入intValue
?阅读parseInt()
的文档可能会有所帮助。如果您只担心扫描仪用户控制台中的整数,请使用.nextInt(),而不是进行字符串到数字的转换。@KenWhite神奇地跳入intValue,lol:DVoting关闭该问题,因为它不太可能帮助未来的访问者。