2017-10-17 16 views
0

Je continue d'obtenir l'erreur "Impossible de trouver le symbole 'arr'" Comment accepter le tableau en tant qu'utilisateur entrée (étant un flotteur pas un double) et 3 variables flottantes en tant qu'éléments dans le tableau?Création d'un tableau d'exécution qui saisit l'utilisateur et crée un tableau à l'exécution et accepte 3 variables pour calculer la somme et la moyenne

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

}}

Répondre

1

Vous avez une questions couple ici

D'abord, vous ne pouvez pas déclarer float[] input parce que vous avez déjà donné Scanner à la référence pour input. Vous devez nommer votre float[] quelque chose de différent. Allons-y avec 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]; 

Ensuite, vous essayez de faire des choses avec arr avant de l'avoir déclarée. Cependant, je ne pense même pas que vous avez besoin d'une référence à arr. Vous devriez supprimer cette ligne.

arr[i] = input.nextInt(); 

De plus, vous devez inviter votre utilisateur lors de chaque itération de la boucle, ainsi que ajouter le Scanner input-float[] userInput.

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

Je sais que je dois incorporer la fonction number_format, mais je ne sais pas exactement où –