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



我不断收到错误"找不到符号'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,因为您已经Scannerinput的引用。您需要将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();
}

最新更新