急待弄java语言来编写这个程序:(从键盘输入学生姓名和Java成绩,当学生姓名为end时结束输入。统计并输出学生人数、最高分、最低分和平均成绩,并将所有输入保存到文件javagrade.txt中。)!!希望高手能帮助解决,,--java初学者上

解决方案 »

  1.   


    //大概写了一下,有什么BUG,自己动动手吧
    package csdn;import java.io.BufferedWriter;
    import java.io.FileWriter;
    import java.io.IOException;
    import java.io.PrintWriter;
    import java.util.Scanner; public class TestDefault {
    public static void main(String[] args) {
    PrintWriter pw = null;
    try {
    Scanner sc = new Scanner(System.in);
    System.out.println(" 请输入姓名和成绩!例如:赵龙 100.用end或者Enter键可以结束!");
    String line = sc.nextLine();
    int index = line.indexOf("end");
    if(index !=-1)
    line = line.substring(0,index );
    String[] data = line.split("\\s+");
    if(data.length%2!=0) {
    System.out.println("你输入的格式不对!");
    return;
    }
    Integer[] in = new Integer[data.length/2];
    String[] name = new String[data.length/2];
    for(int i=0;i<in.length;i++) {
    name[i] = data[i*2];

    in[i] = Integer.valueOf(data[i*2+1]);
    }
    for(int i=0;i<in.length;i++) {
    for(int j=i+1;j<in.length;j++) {
    if(in[i]>in[j]) {
    int k = in[i];
    in[i] = in[j];
    in[j] = k;
    String s = name[i];
    name[i] = name[j];
    name[j] = s;
    }
    }
    }
     pw = new PrintWriter(new BufferedWriter(new FileWriter("D:\\javagrade.txt")));

    for(int i=0;i<in.length;i++) {
    pw.write("姓名:"+name[i]+"  成绩:"+in[i]+"\r\n");
    pw.flush();
    }
    } catch (IOException e) {
    System.out.println("文件打开失败!");
    }catch (Exception e1){
    System.out.println("输入的数据有误!");
    }finally {
    if(pw != null)
    pw.close();
    }
    }
    }
      

  2.   

    好像没有统计并输出学生人数、最高分、最低分和平均成绩,,,只是保存到那个javagrade文件里啊!!求解
      

  3.   

    //都排序好了,你可以自己弄的!
    package csdn;import java.io.BufferedWriter;
    import java.io.FileWriter;
    import java.io.IOException;
    import java.io.PrintWriter;
    import java.util.Scanner; public class TestDefault {
        public static void main(String[] args) {
            PrintWriter pw = null;
            try {
            Scanner sc = new Scanner(System.in);
            System.out.println(" 请输入姓名和成绩!例如:赵龙 100.用end或者Enter键可以结束!");
            String line = sc.nextLine();
            int index = line.indexOf("end");
            if(index !=-1)
            line = line.substring(0,index );
            String[] data = line.split("\\s+");
            if(data.length%2!=0) {
                System.out.println("你输入的格式不对!");
                return;
            }
            Integer[] in = new Integer[data.length/2];
            String[] name = new String[data.length/2];
            for(int i=0;i<in.length;i++) {
                name[i] = data[i*2];
                
                in[i] = Integer.valueOf(data[i*2+1]);
            }
            for(int i=0;i<in.length;i++) {
                for(int j=i+1;j<in.length;j++) {
                    if(in[i]>in[j]) {
                        int k = in[i];
                        in[i] = in[j];
                        in[j] = k;
                        String s = name[i];
                        name[i] = name[j];
                        name[j] = s;
                    }
                }
            }
             pw = new PrintWriter(new BufferedWriter(new FileWriter("D:\\javagrade.txt")));
            float chengji = 0;
            for(int i=0;i<in.length;i++) {
                pw.write("姓名:"+name[i]+"  成绩:"+in[i]+"\r\n");
                chengji+=in[i];
                pw.flush();
            }
            chengji = chengji/in.length;
            //写入平均成绩,最高成绩,最低成绩,学生人数!
            pw.println("平均成绩:"+chengji);
            pw.println("学生人数:"+in.length);
            pw.println("最高成绩:"+in[in.length-1]);
            pw.println("最低成绩:"+in[0]);
            } catch (IOException e) {
                System.out.println("文件打开失败!");
            }catch (Exception e1){
                System.out.println("输入的数据有误!");
            }finally {
                if(pw != null)
                pw.close();
            }
        }
    }