2017-11-22 11 views
-1

私は本当に苦労しています。forのループを修正する方法がわからないので、ユーザーの入力が負の数であれば、範囲に入力されたマークの数が示されます。スキャナは、あまりにも多くのコードwhileループとforループを使用してアスタリスクを印刷するにはどうすればよいですか?

System.out.println("Enter mark, or -1 to finish: "); 

    while (mark >= 0) //process data until sentinnel is entered 
    { 

     mark = (int) input.nextInt(); 
     System.out.println("Enter another mark, or enter -1 to exit"); 
     if (mark >= 0) 
     { 
      sum = sum + mark; 
      count++; 

      if ((mark >= 0) && (mark <= 29)) { 
       cat1++; 
      } else if ((mark >= 30) && (mark <= 39)) { 
       cat2++; 
      } else if ((mark >= 40) && (mark <= 69)) { 
       cat3++; 
      } else if ((mark >= 70) && (mark <= 100)) { 
       cat4++; 
      } else { 
       System.out.println("Invalid"); 
      } 
     }//end if 
    }//end while 
    System.out.println("0 - 29 "); 
    for (int i = 0; i <= cat1; i++) { 
     for (i = 0; i <= cat1; i++) 
     { 
      System.out.print("*"); 
     } 
+0

あなたは合計とマークを持っています。これらは互いにどのように関連していますか? –

+0

私はそれを使用平均マーク –

+0

あなたの質問は非常に不明です。 – shmosel

答えて

0

があったので、私は、これはあなたがアボを求めているものだと思う:

System.out.println("0 - 29 ") 
    for (int i = 0; i <= cat1; i++) 
     { 
      System.out.print("*"); 
     } 
    System.out.println(); 

    System.out.println("30 - 39 ") 
    for (int i = 0; i <= cat2; i++) 
     { 
      System.out.print("*"); 
     } 
    System.out.println(); 
    //and so on 
+0

ループはちょうど実行し続けます:( –

関連する問題