读书人

帮忙看看 这个程序 有点小疑点

发布时间: 2013-02-24 17:58:57 作者: rapoo

帮忙看看 这个程序 有点小问题 ?

要求定义一个int型数组a,包含100个元素,保存100个随机的4位数。再定义一个
int型数组b,包含10个元素。统计a数组中的元素对10求余等于0的个数,保存
到b[0]中;对10求余等于1的个数,保存到b[1]中,……依此类推。

public class java15{
public static void main(String[] args){
int[] array;
array= new int[100];
for(int i=0;i<array.length;i++){
array[i] =(int) (Math. random()*10000);// 这里怎么把随机的四位数赋值给数组
System.out.println(array[i]+" ");
}
int b[]=new int[10];
int sum=0 ,k=0;

for(int j=0;j<b.length;j++ ){
for(sum=0,k=0;k<array.length;k++){
if(array[k]%10==j) sum++;
b[j]=sum;
}
System.out.printf("b[%d]=%d\n"+j,b[j]);

}

}
}
运行之后出现 以下问题,求大侠分析 哪方面的问题?
b[10]=Exception in thread "main" java.util.MissingFormatArgumentException: Format specifier 'd'
at java.util.Formatter.format(Unknown Source)
at java.io.PrintStream.format(Unknown Source)
at java.io.PrintStream.printf(Unknown Source)
at java15.main(java15.java:18)

[解决办法]
System.out.printf("b[%d]=%d\n"+j,b[j]);
这一句错了。
把加号改成逗号。
[解决办法]
System.out.println("b[" + j + "]=" + b[j]);
[解决办法]
System.out.printf("b[%d]=%d\n"+j,b[j]);
+j改为,j

%是占位符,后面才一个参数
[解决办法]
楼上正解。。
[解决办法]

引用:
是啊 再想问一下 怎么把随机的四位数赋给数组。

这个循环就已经把生成的数赋给数组了。
array[i] =(int) (Math. random()*10000);
将等号右边表达式的值赋给array[i]

读书人网 >J2SE开发

热点推荐