求大神帮忙编个JAVA,用来统计成绩的程序

尽量不要用list和数组,还没学,麻烦了,谢谢!下面是做成之后输出的,红色的字是用户输入的,再下面是个统计柱状图,统计每个分数段的数量。N是新的分数列,A是在N里面增加一... 尽量不要用list和数组,还没学,麻烦了,谢谢!
下面是做成之后输出的,红色的字是用户输入的,再下面是个统计柱状图,统计每个分数段的数量。
N是新的分数列,A是在N里面增加一些数,分数小于0,大于10的不算,后面输出平均值,最大,最小数,Q是退出程序
数组如果可以的话也行
展开
 我来答
淦度
2015-02-27
知道答主
回答量:9
采纳率:0%
帮助的人:13.7万
展开全部

可怜的小娃娃啊。哥帮你写了。先看效果图(绿色为输入):


代码如下:

package zhidao;

import java.util.Scanner;

public class TestCount {
    public static void main(String[] args) {
        double total = 0;
        int count = 0;
        int max = -1;
        int min = 11;
        int countOthers = 0;
        int count6 = 0;
        int count7 = 0;
        int count8 = 0;
        int count9 = 0;
        int count10 = 0;
        
        Scanner scanner = new Scanner(System.in);
        String line = null;
        while(true){
            System.out.println("Choose (A: add scores), (N: new scores), or (Q: quit)");
            line = scanner.nextLine();
            if(line.equalsIgnoreCase("Q")){
                break;
            }else if(line.equalsIgnoreCase("N")){
                total = 0;
                count = 0;
                max = -1;
                min = 11;
                countOthers = 0;
                count6 = 0;
                count7 = 0;
                count8 = 0;
                count9 = 0;
                count10 = 0;
                System.out.println("Type the additional scores in single line");
                line = scanner.nextLine();
                
            }else if(line.equalsIgnoreCase("A")){
                System.out.println("Type a new list of scores in single line");
                line = scanner.nextLine();
            }
            String[] datas = line.split(" ");
            for (String data : datas) {
                if(!data.matches("^\\d+$")){
                    continue;
                }
                int d = Integer.parseInt(data);
                if(d < 0 || d > 10){
                    continue;
                }
                total += d;
                count++;
                if(max < d){
                    max = d;
                }
                if(min > d){
                    min = d;
                }
                switch (d) {
                case 10:
                    count10++;
                    break;
                case 9:
                    count9++;
                    break;
                case 8:
                    count8++;
                    break;
                case 7:
                    count7++;
                    break;
                case 6:
                    count6++;
                    break;

                default:
                    countOthers++;
                    break;
                }
            }
            System.out.println("\n------------------------");
            System.out.println("  <6|" + nStart(countOthers));
            System.out.println("   6|" + nStart(count6));
            System.out.println("   7|" + nStart(count7));
            System.out.println("   8|" + nStart(count8));
            System.out.println("   9|" + nStart(count9));
            System.out.println("  10|" + nStart(count10));
            System.out.printf("Average = %5.2f\n",total/count);
            System.out.printf("Maximum = %5d\n",max);
            System.out.printf("Minimum = %5d\n",min);
            System.out.println("------------------------\n");
        }
        System.out.println("*** End of program ***");
    }

    private static String nStart(int count) {
        String s = "";
        for (int i = 0; i < count; i++) {
            s += "*";
        }
        return s;
    }
}

有疑问请追问或私信我,没有用list和数组,望采纳。

巫难天地难m
2015-02-27 · TA获得超过263个赞
知道小有建树答主
回答量:173
采纳率:0%
帮助的人:134万
展开全部
数组都不给用,怎么做啊。。。。
追问
用数组也可以
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式