2016-10-05 14 views
0

こんにちは私はコーディングに新しいスーパーです、そして、私は下のコードを実行しようとすると、 '.class'エラーを取得し続けます。私は何が欠けていますか?'.class error' in java

import java.util.Scanner; 

import java.util.Scanner; 


public class PeopleWeights { 
    public static void main(String[] args) { 
     Scanner scnr = new Scanner (System.in); 
     userWeight = new int[5]; 
     int i = 0; 

     userWeight[0] = 0; 
     userWeight[1] = 5; 
     userWeight[2] = 6; 
     userWeight[3] = 7; 
     userWeight[4] = 9; 

     System.out.println("Enter weight 1: "); 
     userWeight = scnr.nextInt[]; 

     return; 
    } 
} 
+4

"userWeight = scnr.nextInt [];' " - これらは間違った種類のかっこです。 '()'を使ってください。それはあなたの問題の一つを解決します。 – resueman

答えて

0

まず最初に、パッケージを複数回インポートしないで、実際の「バグ」に行きます。ここで

:これに代えても

import java.util.Scanner; 

public class PeopleWeights { 
    public static void main(String[] args) { 
     Scanner scnr = new Scanner (System.in); 
     int userWeight[] = new int[5];//You need to declare the type 
     //of a variable, in this case its int name[] 
     //because its an array of ints 
     int i = 0; 

     userWeight[0] = 0; 
     userWeight[1] = 5; 
     userWeight[2] = 6; 
     userWeight[3] = 7; 
     userWeight[4] = 9; 

     System.out.println("Enter weight 1: "); 
     userWeight[0] = scnr.nextInt();//I belive that you wanted to change 
     // the first element of the array here. 
     //Also nextInt() is a method you can't use nextInt[] 
     //since it doesn't exists 
     //return; You dont need it, because the method is void, thus it doesnt have to return anything. 

    } 

} 

userWeight[0] = 0; 
userWeight[1] = 5; 
userWeight[2] = 6; 
userWeight[3] = 7; 
userWeight[4] = 9; 

あなたは、配列の宣言時にこれを行うことができます。

int userWeight[] = {0,5,6,7,9};//instantiate it with 5 integers 
1

これが問題

です
userWeight = scnr.nextInt[]; 

によってこの問題を解決:予防措置として二回Scannerクラスをインポートしない:

PSを動作するはず

userWeight[0] = scnr.nextInt();  //If you intended to change the first weight 

OR

userWeight[1] = scnr.nextInt();  //If you intended to change the value of userWeight at index 1 (ie. the second userWeight) 

。一度十分

+0

一度インポートするだけではなく、単純にクリーンアップすることは "予防策"ではありません。 –

0

だろう、私はあなたの考えを実装するための2つの方法あなたの意図を理解し、以下にそれをやって:

を私はあなたがuserWeightとして手動で値を与えている見る[0] = 0; 手作業で提供したいのであれば、以下のようにスキャナと一緒に行かないことをお勧めします。

public static void main(String[] args) { 
    int[] userWeight={0, 5, 6,7,9}; 
     System.out.println("Weights are" +userWeight);//as you are giving values. 
} 

あなたの意思が実行時に、ユーザから値を取得する場合は、アプローチの下に従ってください

public static void main(String[] args) { 
     Scanner sc=new Scanner(System.in); 
     System.out.println("This is runtime and you need to enter input"); 

     int[] userWeight = new int[5]; 

      for (int i= 0; i < userWeight.length; i++) { 
       userWeight[i] = sc.nextInt(); 
       System.out.println(userWeight[i]); 
      } 
     } 

PS:

私は、あなたが2回のutilパッケージのインポートを使用している見代わりにimport allを一度にインポートすることができます。import java.util。*;

また、あなたは戻ってきています。戻り値が不要なvoidメソッドについては、注意してください。 VOIDは何も返されません。