2017-10-17 7 views
0

「記号 'arr'を見つけることができません」というエラーが表示される入力(2倍ではないfloat型)と3つのfloat型変数を配列の要素として使用しますか?実行時にユーザー入力を受け取り、実行時に配列を作成する実行時配列を作成し、合計と平均を計算する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))); 

}}

答えて

1

あなたがここに

最初のカップルの問題を持っているあなたはすでにinputのための参照にScannerを与えてくれたので、あなたはfloat[] 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(); 

さらに、あなたは、各ループの反復中に、あなたのユーザを促すだけでなく、float[] userInputScanner inputを追加する必要があります。

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

私はnumber_format関数を組み込む必要がありますが、 –

関連する問題