请高手帮我解决这两道java编程题!

1调用java.lang.Math的成员函数“publicstaticdoublerandom()”,设法生产10个互不相同的从a到z字母,然后对这10个字母从小到大的方... 1 调用java.lang.Math的成员函数“public static double random()”,设法生产10个互不相同的从a到z字母,然后对这10个字母从小到大的方式排序。输出排序前的字母序列与排序后的字母序列。

2 调用java.lang.Math的成员函数“public static double random()”运算下面表达式10000次,
(int) (Math.random()*20+0.5)
统计其中生成的整数0、1、2、……、20的个数分别是多少,并输出统计结果。
展开
 我来答
heitianba
2008-07-11 · TA获得超过958个赞
知道小有建树答主
回答量:934
采纳率:0%
帮助的人:837万
展开全部
public static void main(String args[]) {
// 1 调用java.lang.Math的成员函数“public static double
// random()”,设法生产10个互不相同的从a到z字母,然后对这10个字母从小到大的方式排序。输出排序前的字母序列与排序后的字母序列。

int a = (int) 'a';// 求得字母a的ask码。
int z = (int) 'z';// 求得字母z的ask码。
// 定义一个数组存放10字母
char[] ch = new char[10];
for (int i = 0; i < 10; i++) {
char ck = (char) ((int) (java.lang.Math.random() * (z - a) + a));// 产生一个字母a~z的字母
ch[i] = ck;
for (int j = 0; j < i; j++)
if (ch[j] == ck)
i--;
}
for (int i = 0; i < 10; i++)// 排序前
{
System.out.print(ch[i]);
}
System.out.println();
java.util.Arrays.sort(ch);
for (int i = 0; i < 10; i++)// 排序后
{
System.out.print(ch[i]);
}
// 2 调用java.lang.Math的成员函数“public static double random()”运算下面表达式10000次,
// (int) (Math.random()*20+0.5)
//统计其中生成的整数0、1、2、……、20的个数分别是多少,并输出统计结果。
//定义一个数组分别记录0~20的数出现的次数
int []times=new int[21];//0~20共21个数。
for(int i=0;i<10000;i++){//统计
int kk=(int) (java.lang.Math.random()*20+0.5);//产生一个数
for(int j=0;j<=20;j++){
if(kk==j)
times[j]+=1;
}
}
for(int j=0;j<=20;j++){//输出结果

System.out.println(j+"出现的次数="+times[j]);
}
}
圣恩恩
2008-07-02 · TA获得超过221个赞
知道小有建树答主
回答量:247
采纳率:0%
帮助的人:227万
展开全部
楼主: 为什么没有分..这东西也费了我些功夫..我做的应该不是最好的方法..但是实现了..哪位兄弟的能更简单点..请赐教(真的,我写的麻烦)
public void tenLet()
{
List<Integer> list = new ArrayList<Integer>();
for (;;)
{
int j = (int) (100 * Math.random()+10);
if (97 <= j && j <= 122)
{
if (!list.contains(j))
{
list.add(j);
System.out.print(j + " ");
}
}
int l = list.size();
if (l == 10)
{
System.out.println("\n到10个了");
break;
}
}
System.out.print("排序前: \n");
char[] c = new char[10];
int k = 0;
for (int i : list)
{
char r = (char)i;
System.out.print(r + " ");
c[k] = r;
k++;
}
System.out.println();
Arrays.sort(c);
System.out.print("排序后: \n");
for(char ch:c)
{
System.out.print(ch + " ");
}
}

public void tenTho()
{
List list = new ArrayList();
for(int i = 0; i<10000; i++)
{
int a = (int)(Math.random()*20+0.5);
list.add(a);
}
Map map = new HashMap();
for(int i = 0; i<=20; i++)
{
int k = 0;
for(int j = 0; j<list.size(); j++)
{
if(i == Integer.parseInt(String.valueOf(list.get(j))))
{
k++;
}
}
map.put(i, k);
}
System.out.print("经过10000运算以后\n");
for(int i = 0; i<=20; i++)
{
System.out.print("其中" + i + "有" + map.get(i) + "个\n");
}
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式