简体   繁体   中英

Creating a run time array that takes user input and creates array at run time & accepts 3 variables to calculate sum and average

I keep getting the error "cannot find symbol 'arr' " How do I accept both the array as a user input (being a float not a double) and 3 float variables as elements in the array?

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)));

} }

You've got a couple issues here

First, you cannot declare float[] input because you've already given Scanner to the reference for input . You need to name your float[] something different. Let's go with 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];

Next, you are trying to do things with arr before you have declared it. However, I don't even think you need a reference to arr . You should remove this line.

arr[i] = input.nextInt();

Furthermore, you need to prompt your user during each loop iteration, as well as append the Scanner input to float[] userInput .

for (int i = 0; i < length; i++) {
    System.out.println("Please enter array elements");
    userInput[i] = input.nextInt();
}

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM