简单的java错误:1、 生产0-9之间的100个随机整数,并且显示每一个数出现的次数 55

importjava.util.Random;publicclasst1{/***@paramargs*/publicstaticvoidmain(String[]arg... import java.util.Random;
public class t1 {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int[] a=new int[100];
Random random = new Random();
for(int i=0;i<100;i++){
a[i]=(int)(Math.random()*10);
}
for(int j=0;j<100;j++){
int num=0;
for(int t=0;t<10;t++){
if(a[j]==t){
{
num++;}
}
System.out.println(a[j]+"出现的次数为"+num);

}
}
}
}
展开
 我来答
artintin
2018-05-04 · TA获得超过1.2万个赞
知道大有可为答主
回答量:7508
采纳率:80%
帮助的人:2764万
展开全部
14行以后的统计次序错了,应该是外层循环是t,内层是遍历100个数,
换成下面代码即可。
import java.util.Random;
public class t1 {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int[] a=new int[100];
Random random = new Random();
for(int i=0;i<100;i++){
a[i]=(int)(Math.random()*10);
}
for(int t=0;t<10;t++)
{
int num=0;
for(int j=0;j<100;j++)
{
if(a[j]==t){num++;}
}
System.out.println(t+"出现的次数为"+num);
}
}
}
et踏雪无痕
2018-05-04 · TA获得超过354个赞
知道小有建树答主
回答量:604
采纳率:0%
帮助的人:65.1万
展开全部
正确的方法是这样的
package dome;

public class Dome {

//生成0-9之间100个随机整数,并显示出现的次数
public static void main(String[] args){
int[] num = new int[100];
int[] cun = new int[10];
for(int i=0;i<100;i++){
num[i] = (int)(Math.random()*10);
}
for(int i=0;i<10;i++){
cun[i] = 0;
for(int j=0;j<100;j++){
if(num[j]==i){
cun[i]++;
}
}
System.out.println(i + "出现了" + cun[i] + "次");
}
}

}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
梦水紫灵
2018-05-04 · TA获得超过668个赞
知道小有建树答主
回答量:483
采纳率:72%
帮助的人:151万
展开全部
问题有以下几个:
一、Random random = new Random();
该变量没有使用,应该删除,包括引包的import
二、因为输出内容是“数”出现“x”次,要以“数”为基础,判断次数。
循环要以“数”的循环为外层,次数判断的循环在内层
三、下面的这组大括号是多余的
四、输出语句位置错误。要放在第二个循环外

{
num++;}
下面是调整后的代码
public class t1 {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int[] a = new int[100];
//Random random = new Random();
for (int i = 0; i < 100; i++) {
a[i] = (int) (Math.random() * 10);
}
for (int t = 0; t < 10; t++) {
int num = 0;
for (int j = 0; j < 100; j++) {
if (a[j] == t) {
num++;
}
}
System.out.println(t + "出现的次数为" + num);
}
}
}
追问
道理我知道 可是我不知道错在那里  我是初学者
追答
写循环嵌套,首先要把自己当成机器,制定一个做事的顺序。
本题想输出的是:每个数字出现的次数。
有两个集合,一个是所有数字,即0到9,即t;另一个是实际出现的情况,即a。
有两种逻辑顺序
第一种:先确定要找的数字t,再看在a中出现几次。先确定的放外循环,再查看的放内循环。
第二种:直接看实际情况a,将出现的数,的次数记录,这样只需要一层循环,但占更多内存。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式