首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

急一道程序题, 请各位帮帮忙!散分!该怎么解决

2012-03-05 
急急!一道程序题, 请各位帮帮忙!!散分!!!!用Java编写程序:利用随机数产生1000个0~100之间的考试分数,将其

急急!一道程序题, 请各位帮帮忙!!散分!!!!
用Java编写程序:
利用随机数产生1000个0~100之间的考试分数,将其存入一个文本文件中,然后程序从这个文件中读取这1000个考试分数,统计其中各分数段(A[90,100],B[80,90), C[70,80), D[60,70), F[0,60))的人数、所占百分比,平均分。
提示:产生随机数可以用Random类(可以产生0—100之间的任意数)





[解决办法]
你都知道怎么做了啊,哈哈
[解决办法]
自己做才能有提高
[解决办法]
Random类

数组

你都知道了,怎么不动下脑勒!

欢迎加入 JAVA交流群 72923840
[解决办法]
Random类

数组

你都知道了,怎么不动下脑勒!

欢迎加入 JAVA交流群 72923840
[解决办法]
先产生1000个0-100随机数,遍历一遍把他们分组统计个数,直接就算出人数、所占百分比,平均分了.
提示已经很明白了.
LZ应该自己写代码. 

[解决办法]
给你提示啊:

Java code
    //定义几个变量分别代表5个成绩段的人数    int a = 0, b = 0, c = 0, d = 0, e = 0;    //产生随机数:     Random rnd = new Random();    int i = rnd.nextInt(101); //产生0~100之间的随机数    //往文件里面写可以使用DataOutputStream,       >                                            列表中为什么会多个空格!                                        </a>                                                                                <span class="color_silver">[Java][J2SE / 基础类]</span>                                    </td>
[解决办法]
探讨
给你提示啊:
Java code

//定义几个变量分别代表5个成绩段的人数
int a = 0, b = 0, c = 0, d = 0, e = 0;
//产生随机数:
Random rnd = new Random();
int i = rnd.nextInt(101); //产生0~100之间的随机数
//往文件里面写可以使用DataOutputStream,一个一个挨着写
DataOutputStream dos = new DataOutputStream( new FileOutputStream("file name"));
dos.writeInt(i);
//读取的时候用…

[解决办法]
我再详细地给你一个参考的思路,代码还是要自己写哈!

Java code
首先,利用file类新建个文本文件,利用random函数随机出100个函数,可以写个循环,循环100次,循环体里写文件(需要用try-catch),简单点可以每次写一行,一行就一个数字,这样,后面读的时候一行一行读也方便。。100个随机数都在文本里后,再新建一个100个长度的int数组和5个int数组(分别存放A-F段的数据),利用读文件的readinLine()函数读出100个随机数,先转换成数字,再判断数字大小分别放在A-F的INT数组里(SWITCH)"统计其中各分数段(A[90,100],B[80,90), C[70,80), D[60,70), F[0,60))的人数、所占百分比,平均分"这个根据数组就可以计算了。
[解决办法]
mark
[解决办法]
自己先写一点嘛,如果有错误可以问,自己动手会有很多收获的。
[解决办法]

[解决办法]
首先用Random类随机产生一个数字,然后把它存入文本文件中。

在for循环1000便上面的过程


...
[解决办法]
Java code
package com.train.first;import java.util.ArrayList;import java.util.List;public class Test{    private static final int AMOUNT = 1000;        private static List<Group> groups;        private static int[] scores = new int[AMOUNT];        /**     * 初始化分组信息     * @param group     */    private static void initGroup()    {        groups = new ArrayList<Group>();        groups.add(new Group("ALL"));        groups.add(new Group("A"));        groups.add(new Group("B"));        groups.add(new Group("C"));        groups.add(new Group("D"));        groups.add(new Group("F"));    }        /**     * 根据分数进行分组     * @param score     */    private static void doGroup(int score)    {        groups.get(0).add(score);                if (score >= 90)        {            groups.get(1).add(score);        }        else if (score >= 80)        {            groups.get(2).add(score);        }        else if (score >= 70)        {            groups.get(3).add 


[解决办法]

Java code
package com.ztk.csdn;import java.io.BufferedReader;import java.io.FileInputStream;import java.io.FileWriter;import java.io.InputStreamReader;import java.util.Random;public class RandomTest {    /**     * @param args     */    public static void main(String[] args) {        // TODO Auto-generated method stub        int[] score =  new int[1000];        Random rd = new Random();        for(int i=0;i<score.length;i++){            score[i] = rd.nextInt(100);        }        String str = "";        for(int i=0;i<score.length;i++){            str+=score[i]+",";        }                str = str.substring(0, score.length-1);        try {            FileWriter fw = new FileWriter("D://test.txt");            fw.write(str);            fw.close();        } catch (Exception e) {            e.printStackTrace();        }                 StringBuffer buffer = new StringBuffer();         try {            //FileReader fr = new FileReader("D://test.txt");            BufferedReader bufferreader = new BufferedReader(new InputStreamReader(new FileInputStream("D://test.txt")));                         String line = bufferreader.readLine();            while (line !=null) {                buffer.append(line);                line = bufferreader.readLine(); // 读取下一行             }                    } catch (Exception e) {            e.printStackTrace();        }                //System.out.print(buffer.toString());        String scoreString = buffer.toString();        String[] scoreStringArr = scoreString.split(",");        int[] scoreStringArrInt = new int[scoreStringArr.length];        for(int i=0;i<scoreStringArr.length;i++){            scoreStringArrInt[i]=Integer.parseInt(scoreStringArr[i]);        }                int count1=0;        int count2=0;        for(int i=0;i<scoreStringArrInt.length;i++){            if(scoreStringArrInt[i]>=90&&scoreStringArrInt[i]<=100){                count1++;            }        }    }}
[解决办法]

热点排行