Java 用户输入后,数组值都保持在0.0

Java 用户输入后,数组值都保持在0.0,java,arrays,Java,Arrays,基本上,我有允许用户创建数组的代码,但由于某些原因,值保持在0.0 代码如下: /** *@作者布莱恩 *@2017年10月21日版本 */ /** *程序执行示例: *使用数组,并查找平均值、最大值和和。 *有4个元素的数组是[4.5,2.0,1.2,3.3] *[4.5,2.0,1.2,3.3]之和为11.00 *[4.5,2.0,1.2,3.3]的平均值为2.75 *[4.5,2.0,1.2,3.3]的最小值为1.20 *多少个数字:3 *输入范围下限和上限:1 100 *输入数字0:2

基本上,我有允许用户创建数组的代码,但由于某些原因,值保持在0.0

代码如下:

/**
*@作者布莱恩
*@2017年10月21日版本
*/
/**
*程序执行示例:
*使用数组,并查找平均值、最大值和和。
*有4个元素的数组是[4.5,2.0,1.2,3.3]
*[4.5,2.0,1.2,3.3]之和为11.00
*[4.5,2.0,1.2,3.3]的平均值为2.75
*[4.5,2.0,1.2,3.3]的最小值为1.20
*多少个数字:3
*输入范围下限和上限:1 100
*输入数字0:2
*输入数字1:2
*输入数字2:2
*[0.0,0.0,0.0]之和为0.00
*[0.0,0.0,0.0]的平均值为0.00
*[0.0,0.0,0.0]的最小值为0.00
*填充1.2后,数组为[1.2,1.2,1.2,1.2,1.2,1.2,1.2]
*/
导入java.util.Scanner;
公共类数组{
/**
*测试数组方法
*@param指定命令行参数
*/
公共静态void main(字符串[]args){
println(“使用数组,并找到平均值、最大值和和”);
//a)声明并初始化数组以保存实际数据值2.3、4.6、3.0和1.1。
双[]阵列1={
4.5,
2.0,
1.2,
3.3
};
//b)使用提供的toString()方法显示数组值
//下面测试方法toString()的示例代码,用上面的数组名称替换测试数组。
字符串array1Str=toString(array1);
System.out.println(“包含4个元素的数组为“+array1Str”);
//c)调用calcSum并显示数字和总和
System.out.printf(“%s的和是%.2f”,array1Str,calcSum(array1));
//d)调用calcAvg并显示数字及其平均值
System.out.printf(“\n%s的平均值为%.2f”,array1Str,calcAvg(array1));
//e)调用findMin并显示最小值
System.out.printf(“\n%s的最小值为%.2f”,array1Str,findMin(array1));
//g)调用makeArray,然后显示新数组的总和、平均值和最小值
double[]maderray=makeArray();
字符串madeArrayStr=toString(madeArray);
System.out.printf(“%s的总和是%.2f”,maderaraystr,calcSum(maderaray));
System.out.printf(“\n%s的平均值为%.2f”,maderaraystr,calcAvg(maderaray));
System.out.printf(“\n%s的最小值为%.2f”,maderaraystr,findMin(maderaray));
//h)调用fill将包含6个元素的新数组设置为1.2,然后显示修改后的数组
double[]arrayofsix={
3.4,
5.1,
9.8,
2.2,
4.0,
7.6
};
填充(arrayofsix,1.2);
字符串arrayofsixStr=toString(arrayofsix);
System.out.printf(“\n填充%s后,数组为%s”,“1.2”,arrayofsixStr);
}
公共静态双计算(双[]数组){
双[]阵列1;
双和=0;
用于(int计数器=0;计数器0)//在第一个逗号分隔符之后插入逗号分隔符
arrayStr+=“,”;
arrayStr+=String.valueOf(数组[i]);
}
arrayStr+=“]”;
返回阵列;
}
/**
*输入一组元素并存储在创建的数组中。用户指定
*数组的大小,并输入元素。
*@返回已创建的数组
*/
公共静态双[]makeArray()//部分f)
{
最终字符串格式=“%.2f”;
扫描仪输入=新扫描仪(System.in);
System.out.print(“\n有多少个数字:”);
int numNumbers=input.nextInt();
System.out.print(“输入范围下限和上限:”);
double lower=input.nextDouble();
双上限=input.nextDouble();
double[]numaray=新的双精度[numNumbers];
对于(int i=0;i上){
系统输出打印(“请重新输入范围”);
System.out.printf(“[“+格式+”到“+格式+”]:”,下,上);
number=input.nextDouble();
}
}
返回努马拉;
}
/**
*将数组的每个元素初始化为给定值。
*/
公共静态空白填充(双[]数组,双值){
double[]数组6=新的double[6];
for(int i=0;i
公共静态双[]makeArray()//第f部分)
{
最终字符串格式=“%.2f”;
扫描仪输入=新扫描仪(System.in);
System.out.print(“\n有多少个数字:”);
int numNumbers=input.nextInt();
System.out.print(“输入范围下限和上限:”);
double lower=input.nextDouble();
双上限=input.nextDouble();
double[]numaray=新的双精度[numNumbers];
对于(int i=0;i上){
系统输出打印(“请重新输入范围”);
System.out.printf(“[”+格式+”到
public static double[] makeArray() // Part f)
{
  final String format = "%.2f";
  Scanner input = new Scanner(System.in);

  System.out.print("\nHow many numbers: ");
  int numNumbers = input.nextInt();

  System.out.print("Enter lower and upper range limits: ");
  double lower = input.nextDouble();
  double upper = input.nextDouble();

  double[] numArray = new double[numNumbers];


  for (int i = 0; i < numNumbers; i++) {
    double number;
    System.out.printf("Enter number %d: ", i);
    number = input.nextDouble();

    while (number < lower || number > upper) {
      System.out.print("Please re-enter in range ");
      System.out.printf("[" + format + " to " + format + "]: ", lower, upper);
      number = input.nextDouble();
    }
    // YOU FORGOT TO ASSIGN THE GENERATED NUMBER TO ARRAY
    numArray[i] = number;
  }
  return numArray;


}