
请高手帮我解决这两道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的个数分别是多少,并输出统计结果。 展开
2 调用java.lang.Math的成员函数“public static double random()”运算下面表达式10000次,
(int) (Math.random()*20+0.5)
统计其中生成的整数0、1、2、……、20的个数分别是多少,并输出统计结果。 展开
展开全部
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]);
}
}
// 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]);
}
}
展开全部
楼主: 为什么没有分..这东西也费了我些功夫..我做的应该不是最好的方法..但是实现了..哪位兄弟的能更简单点..请赐教(真的,我写的麻烦)
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");
}
}
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");
}
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询