// 課題)キーボードから受験者数分だけのテストの点数を入力し、優、良、可、不可、 // それぞれの人数と、テストの平均点を画面に出力するプログラミングを作成しなさい。 // 受験者数は前もってわからない(ただし、10人以下)が、−1が入力されるか、または、 // 入力した受験者数が10を超えたら、強制的に点数入力を終了し結果画面に表示しなさい。 // while文を使用しなさい。 // 100点満点 // 優≧90 // 良≧70 // 可≧50 // 不可<50  とする。 import java.io.*; public class Sample3 { public static void main (String[] args) throws IOException { BufferedReader br = new BufferedReader( new InputStreamReader(System.in)); int a = 0; //終了判定用 int b = 0; //データ数カウント float c = 0; //合計 int y = 0; int r = 0; int k = 0; int f = 0; while( a != -1 && b < 10 ){ System.out.print("点数を入力してください: "); String buf = br.readLine(); a = Integer.parseInt(buf); if( a != -1 ){ c = c + a; //和の型は,floatになる。 if( a< 50){ f = f+1; } else if( a < 70 ){ k = k+1; } else if( a < 90 ){ r = r+1; } else { y = y+1; } } b = b + 1; } if( a == -1 ){ b = b - 1; } //-1が入力されるときは,while ループを1回多く通るので。 c= c/b; //商の型は,floatになる。 System.out.println( "有 :  " + y + " 名" ); System.out.println( "良 :  " + r + " 名" ); System.out.println( "可 :  " + k + " 名" ); System.out.println( "不可 : " + f + " 名" ); System.out.println( "平均点 = " + c ); } }