【发布时间】:2014-10-05 18:00:40
【问题描述】:
所以我又遇到了另一个问题。阅读我的代码和输出后,您就会明白我的意思。我正在尝试打印我的 Array 的数字及其出现次数。 !!!不幸的是我不能使用任何导入代码......!!!
int[] fr = new int[Bag.length];
for( int i = 0; i < Bag.length; i++ )
fr[i]++;
for( int i = 0; i < fr.length; i++ ) {
if( fr[i] > 0 )
System.out.println( "The number " + Bag[i] + " occurs " + fr[i] + " time(s).");}}
如果我将 5、6 和 5 添加到我的数组中; (顺便说一句,我创建了 Add 操作,所以起初我的数组是 0,然后变得更大)
输出:数字 5 出现 1 次。 数字 6 出现 1 次。 数字 5 出现 1 次。
顺便说一句,我的添加操作是:
int[] Bag = new int[0];
String name = scanner.next();
if (name.equals("A")){
int number = scanner.nextInt();
NewBag[NewBag.length - 1] = number;
for(int i = 0; i < Bag.length; i++){
NewBag[i] = Bag[i];}
Bag = NewBag;
System.out.println(number + " added to Bag.");}
【问题讨论】:
-
你能贴出你添加5、6和5的代码吗?也许它有助于解释哪里出了问题。
-
这看起来像一个“直方图” - 也许它有助于谷歌搜索“直方图”。 SO中有一个很好的问题/答案(stackoverflow.com/questions/13106906/…)
-
是什么让您相信当我们阅读您的代码时我们会理解?作为一个疯狂的猜测,我认为你想增加 fr[Bag[i]] 而不是 fr[i]。但这会产生 ArrayIndexOutOfBoundsExceptions...
-
是的,你的猜测是真的。