Java 创建一个运行时数组,该数组接受用户输入并在运行时创建数组&;接受3个变量来计算总和和平均值

Java 创建一个运行时数组,该数组接受用户输入并在运行时创建数组&;接受3个变量来计算总和和平均值,java,arrays,floating-point,Java,Arrays,Floating Point,我不断遇到错误“找不到符号‘arr’”。如何接受数组作为用户输入(是浮点而不是双精度)和3个浮点变量作为数组中的元素 import java.util.Scanner; public class runtime_array { public static void main(String[] args){ System.out.println("Program creates array size at run-time"); System.out.println("Program

我不断遇到错误“找不到符号‘arr’”。如何接受数组作为用户输入(是浮点而不是双精度)和3个浮点变量作为数组中的元素

import java.util.Scanner;

public class runtime_array
{

public static void main(String[] args){

  System.out.println("Program creates array size at run-time");
  System.out.println("Program rounds sum and average of numbers to two decimal places");
System.out.println("Note: numbers *must* be float data type");
System.out.println(); //blank line

// taking String array input from user
Scanner input = new Scanner(System.in);
System.out.println("Please enter length of String array");
int length = input.nextInt();
  arr[i] = input.nextInt();

// create an array to save user input
float[] input = new float[length];
float[] input = new float[arr];

// loop over array to save user input
System.out.println("Please enter array elements");
for (int i = 0; i < length; i++) {

}

float sum = 0;

System.out.println("The array input from user is : ");
for(int i = 0; i < arr.length; i++){
    System.out.println(String.format("%.2f", Float.valueOf(arr[i])));
    sum += Float.valueOf(arr[i]);
}
System.out.println("The sum is: " + String.format("%.2f",sum));

System.out.println("The average is: " + String.format("%.2f",(sum/length)));
import java.util.Scanner;
公共类运行时数组
{
公共静态void main(字符串[]args){
System.out.println(“程序在运行时创建数组大小”);
System.out.println(“程序将数字的总和和平均值舍入到小数点后两位”);
System.out.println(“注:数字*必须*为浮点数据类型”);
System.out.println();//空行
//从用户获取字符串数组输入
扫描仪输入=新扫描仪(System.in);
System.out.println(“请输入字符串数组的长度”);
int length=input.nextInt();
arr[i]=input.nextInt();
//创建一个数组以保存用户输入
浮点[]输入=新浮点[长度];
浮点[]输入=新浮点[arr];
//循环数组以保存用户输入
System.out.println(“请输入数组元素”);
for(int i=0;i
}
}这里有几个问题

首先,您不能声明
float[]input
,因为您已经为
input
的引用指定了
Scanner
。您需要将您的
float[]
命名为不同的名称。让我们使用
userInput

Scanner input = new Scanner(System.in);
System.out.println("Please enter length of String array");
int length = input.nextInt();
float[] userInput = new float[length];
for (int i = 0; i < length; i++) {
    System.out.println("Please enter array elements");
    userInput[i] = input.nextInt();
}
接下来,您将在声明之前尝试使用
arr
执行操作。然而,我甚至认为您不需要对
arr
的引用。您应该删除此行

arr[i] = input.nextInt();
此外,您需要在每次循环迭代期间提示用户,并将
扫描仪输入
附加到
float[]userInput

Scanner input = new Scanner(System.in);
System.out.println("Please enter length of String array");
int length = input.nextInt();
float[] userInput = new float[length];
for (int i = 0; i < length; i++) {
    System.out.println("Please enter array elements");
    userInput[i] = input.nextInt();
}
for(int i=0;i
我知道我需要加入数字格式功能,但不确定具体在哪里