2017-03-11 23 views
-1

本当にシンプルなコードを実行しようとしていますが、ユーザーからの入力情報を得るために最初のステートメントを出力させようとすると、何も出力画面に表示されません。私は本当にここでの問題を見ることができない出力画面に何も表示されない

public static void main(String args[]){ 
    Scanner sc = new Scanner(System.in); 
    int grade[] = new int[3]; 

    for(int i = 0; i < grade[i]; grade[i]++){ 
    System.out.println("Input the student's degree"); 
    grade[i] = sc.nextInt(); 
     if(grade[i] < 10){ 
      grade[i] += 0.5; 
     } 
     System.out.println(grade[i]); 
    }  
} 

は、ここでは、コードです。誰かが不思議に思うなら、私はEclipse Neon 0.2 IDEを使用しています。読み返してくれてありがとう

+0

'grade [i]'を 'grade.length'で置き換えます。 –

答えて

0

グレード配列が空です。すべての指数が0です。グレード[0] = 0、グレード[1] = 0など... したがって、ループは実行されず何も起こりません。多分このような

+0

説明をありがとう。 – VTR

0

grade[iの値は0に設定されていません。したがって、あなたはループに入っていません。

for(int i = 0; i < grade[i]; grade[i]++){ 
//     ^^^^^^^^ here 

これを試してみてください:

for(int i = 0; i < 3; i++){ 
+0

ありがとうございます、それも動作します! – VTR

4

グレード[]は空なので、forループ実行されることはありません。 int配列は0で初期化されます。

+0

あなたは正しいです(実際は多くです)、(...; grade [i])を指すのではなく、(...; i ++)を追加する必要があります。ありがとう! – VTR

0

これは、あなたが理解するのに役立ちます:

int grade[] = new int[3]; 

は、上記のコードの下に次の行を追加します。

System.out.print(grade[0]); 
0

public static void main(String args[]){ 
Scanner sc = new Scanner(System.in); 
int grade[] = new int[3]; 

for(int i = 0; i < grade.length; i++){ 
    System.out.println("Input the student's degree"); 
    grade[i] = sc.nextInt(); 
    if(grade[i] < 10){ 
     grade[i] += 0.5; 
    } 
    System.out.println(grade[i]); 
}  

}

0

前にあなたのコードを書き直す必要があります

Scanner sc = new Scanner(System.in); 
     int grade[] = new int[3]; 
     System.out.println("Input the student's degree"); 
     grade[0] = sc.nextInt(); 
     grade[1] = sc.nextInt(); 
     grade[2] = sc.nextInt(); 
+0

あまりにも、ありがとう!しかし、それは私のコードを読んでいるか分析している人のためにもう少し騒がしいことではないでしょうか? – VTR

+0

これは、ダイナミックに配列の長さを設定するために次のように使用できます。int grade [] = new int [sc.nextint()]; – mike5026

-1

ループのためにこれを試してみてください、これはいくつかの修正を加えたあなたに似たサンプルコードはあります。

import java.util.Scanner; // import scanner package 
public class demo { 
    public static void main(String args[]){ 

      // create a scanner 
      Scanner sc = new Scanner(System.in); 

      // double data type array 
      double grade[] = new double[3]; 

      for(int i = 0; i < grade.length; i++){ 
      System.out.println("Input the student's degree"); 

      // input double data type value 
      grade[i] = sc.nextDouble(); 
       if(grade[i] < 10){ 
        grade[i] += 0.5; 
       } 
       System.out.println(grade[i]); 
      }  
    } 
} 
+0

サンプルをいただきありがとうございますが、私のコードでこの問題について説明してもらえますか? – VTR

-1

ここに少し変更を加えたコードを示します。

import java.util.Scanner; // import scanner package 
public class demo{ 
    public static void main(String args[]){ 

    // create a scanner 
    Scanner sc = new Scanner(System.in); 


    //create a double data type array 
    double grade[] = new double[3]; 

    // create a for loop with modified condition 
    for(int i = 0; i <= grade[i]; grade[i]++){ 

    // prompt input message 
    System.out.println("Input the student's degree"); 

    // assign a double data type value 
    grade[i] = sc.nextDouble(); 

    // test if grade is less than 10 
     if(grade[i] < 10){ 
      grade[i] += 0.5; 
     } 
     System.out.println(grade[i]); 
    }  
} 
} 
関連する問題