import java.io.*;public class number{

public static void main(String args[]){      
      try{
        InputStreamReader ir;
         BufferedReader in;
         ir=new InputStreamReader(System.in);
         in=new BufferedReader(ir);
         String strin="";   
     int pass=0;
     int falure=0;
     int count=0;
     double sum =0.0;
     double average=0.0;
     
     while(!(strin=in.readLine()).equals("-1"))  {   //"-1"表示输入结束
      System.out.println(strin);
     
        if(Integer.parseInt(strin)>=60)
         pass++;         
        else
          falure++;
            count++;
            sum+=Integer.parseInt(strin);
     }
    average=sum/count;
    System.out.println("pass count is : "+pass);
    System.out.println("falure count is : "+falure);
    System.out.println("arverage is : "+average);
        }
      catch(Exception e) {
    System.err.println(e.getStackTrace());
      }
      
      
}
}

解决方案 »

  1.   

    仅供参考:
    import java.io.*;
    public class ReadValue {

    public static void main(String args[]){
    //WriteFile1();
    read();
    //ReadFile2();
    //ReadAndWriteFile();
    }
    public static void read(){
    BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
    String str="";
    int noPass=0,pass=0,middle=0,good=0,well=0;
    int average=0;
    int i = 1;
    try{

    while((str = br.readLine()).equals("-1") != true){
    System.out.println(str);
    int value = Integer.parseInt(str);
    average = (average * i + value) / i;
    if(value<60){
    noPass = noPass + 1;
    System.out.println(value);
    }else if(value>=60 && value<70){
    pass = pass + 1;
    }else if(value>=70 && value<80){
    middle = middle + 1;
    }else if(value>=80 && value<90){
    good = good + 1;
    }else if(value>=90 && value<100){
    well = well + 1;
    }

    i = i + 1;
    }
    }catch(Exception e){
    System.out.println(e.toString());
    }
    System.out.println(noPass+" "+pass+" "+middle+" "+good+" "+well);
    }}
    哈哈!bs什么意思?
      

  2.   

    错了:
    average = (average * (i-1) + value) / i;
      

  3.   

    这个是以前做的,里面没有判断分数的合法性
    其实很简单,你只要增加个方法就可以了,判断分数是不是在0-100,这个你就自己加吧,可以锻炼一下自己。
    你建立一个Tjscore.java的文件,然后加入下面代码:
    import java.io.*;
    import java.util.*;public class Tjscore {
    public static void main(String[] args) {
    System.out.println("请输入学生的成绩,-1结束输入");
    Vector score = new Vector();
    int m = 0, sum = 0;
    int buJiGe = 0, jiGe = 0, zhongDeng = 0, liangHao = 0, youXiu = 0;
    float pingJunFen = 0;
    BufferedReader input = new BufferedReader(new InputStreamReader(
    System.in));
    try {
    m = Integer.parseInt(input.readLine());
    } catch (Exception e) {
    }
    while (m != -1) {
    score.add(m + "");
    try {
    m = Integer.parseInt(input.readLine());
    } catch (Exception e) {
    }
    }
    for (int i = 0; i < score.size(); i++) {
    m = Integer.parseInt(score.get(i) + "");
    sum += m;
    if (m < 60)
    buJiGe++;
    else if (m < 70)
    jiGe++;
    else if (m < 80)
    zhongDeng++;
    else if (m < 90)
    liangHao++;
    else
    youXiu++;
    pingJunFen = sum / score.size();
    }
    System.out.println("你共输入了" + score.size() + "个学生的成绩");
    System.out.print("成绩概况:");
    System.out.println("平均分是" + pingJunFen + "分");
    System.out.println("其中:\n" + "不及格的有" + buJiGe + "人;\n" + "及格的有:" + jiGe
    + "人;\n" + "中等的有:" + zhongDeng + "人;\n" + "良好的有:" + liangHao
    + "人;\n" + "优秀的有:" + youXiu + "人。\n");
    }
    }
    就可以用javac Tjscore.java编译 java Tjscore执行了
      

  4.   

    public class Test
    {
    public int a=0;//优秀
    public int b=0;//良好
    public int c=0;//中等
    public int d=0;//及格
    public int e=0;//不及格
      public double average=0.0; 
    public Test()
    {}
    public Test(String [] args)
    {
    getAverage(args);
    }
    public void getAverage(String [] args)
    {
    int n=0;
    System.out.println("length="+args.length);
    for(int i=0;i<args.length;i++)
    {
    try
    {
    double temp=Double.parseDouble(args[i]);
    System.out.println("temp="+temp);
    if(temp<0)
      break;
    n++;  
    ///////
    if(temp>=90)
      a++;
    else if(temp>=80)
      b++;
    else if(temp>=70)
      c++;
    else if(temp>=60)
      d++;
    else 
      e++;        
    ///////
    average+=temp;
    }
    catch(Exception ex)
    {
    System.out.println("输入的东东中有字符! in getAverage,"+ex);
    System.exit(1);
    }
    }
    System.out.println("n="+n+",average="+average);
    average=average/n;
    }

    public static void main(String [] args)
    {
    Test t=new Test(args);
    System.out.println("优秀="+t.a);
    System.out.println("良好="+t.b);
    System.out.println("中等="+t.c);
    System.out.println("及格="+t.d);
    System.out.println("不及格="+t.e);
    System.out.println("平均分="+t.average);

    }
    }