我不断收到错误"找不到符号'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)));
}}
你在这里有几个问题
首先,您不能声明float[] input
,因为您已经Scanner
了input
的引用。您需要将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];
接下来,您尝试在声明之前对arr
执行操作。但是,我什至认为您不需要参考arr
.您应该删除此行。
arr[i] = input.nextInt();
此外,您需要在每次循环迭代期间提示用户,并将Scanner input
附加到float[] userInput
。
for (int i = 0; i < length; i++) {
System.out.println("Please enter array elements");
userInput[i] = input.nextInt();
}