现在我便出了一个小程序:
public class Histogram{ public static void main(String[] args) {
System.out.println("The random array is:(100 integers)");
int[] number=new int [50]; for(int i=0;i<50;i++)
{
int j = (int) (Math.random()*11+50);
number[i]=j;
System.out.print(number[i]+" ");
if((i+1)%50==0) System.out.println();
}
System.out.println();
String str="";
for(int i=0;i<number.length;i++) {
str=str + (number[i]-5) ;
}
int[] Integer = new int[11];
for (int i = 0; i < 50; i++) {
char ch = Character.toLowerCase(str.charAt(i));
if ((ch)>='0'&&(ch)<='9') Integer[ch - '0']++;
}
for(int l=0;l<11;l++) {
System.out.print(" [ "+(l+50)+" ] : ");
System.out.println(" "+Integer[l]);}
}
}
因为if ((ch)>='0'&&(ch)<='9') Integer[ch - '0']++这个的限制,
所以输出的结果为:
[ 50 ] : 2
[ 51 ] : 1
[ 52 ] : 2
[ 53 ] : 2
[ 54 ] : 15
[ 55 ] : 17
[ 56 ] : 2
[ 57 ] : 2
[ 58 ] : 2
[ 59 ] : 5
[ 60 ] : 0
而实际上,60这个数字是有随机产生出来的。。
我想问下大家应该怎么改程序才能让 [ 60 ] : 0这个数也开始计数呢??
public class Histogram{ public static void main(String[] args) {
System.out.println("The random array is:(100 integers)");
int[] number=new int [50]; for(int i=0;i<50;i++)
{
int j = (int) (Math.random()*11+50);
number[i]=j;
System.out.print(number[i]+" ");
if((i+1)%50==0) System.out.println();
}
System.out.println();
String str="";
for(int i=0;i<number.length;i++) {
str=str + (number[i]-5) ;
}
int[] Integer = new int[11];
for (int i = 0; i < 50; i++) {
char ch = Character.toLowerCase(str.charAt(i));
if ((ch)>='0'&&(ch)<='9') Integer[ch - '0']++;
}
for(int l=0;l<11;l++) {
System.out.print(" [ "+(l+50)+" ] : ");
System.out.println(" "+Integer[l]);}
}
}
因为if ((ch)>='0'&&(ch)<='9') Integer[ch - '0']++这个的限制,
所以输出的结果为:
[ 50 ] : 2
[ 51 ] : 1
[ 52 ] : 2
[ 53 ] : 2
[ 54 ] : 15
[ 55 ] : 17
[ 56 ] : 2
[ 57 ] : 2
[ 58 ] : 2
[ 59 ] : 5
[ 60 ] : 0
而实际上,60这个数字是有随机产生出来的。。
我想问下大家应该怎么改程序才能让 [ 60 ] : 0这个数也开始计数呢??
public class Histogram{ public static void main(String[] args) {
System.out.println("The random array is:(100 integers)");
int[] num=new int [50];
for(int i=0;i<50;i++)
{
int j = (int) (Math.random()*11+50);
num[i]=j;
System.out.print(num[i]+" ");
if((i+1)%50==0) System.out.println();
}
System.out.println();
//String str="";
//for(int i=0;i<num.length;i++) {
//str=str + (num[i]-50) ;
//}
int[] Integer = new int[11];
for (int i = 0; i < 50; i++) {
//char ch = Character.toLowerCase(str.charAt(i));
//if ((ch)>='0'&&(ch)<='9') Integer[ch - '0']++;
Integer[num[i] - 50]++;
}
for(int l=0;l<11;l++) {
System.out.print(" [ "+(l+50)+" ] : ");
System.out.println(" "+Integer[l]);}
}
}