2016-04-11 4 views
2

ヒストグラムプログラムを作っていますが、乱数を生成する配列を1つ、配列をそれを配列にする別の配列、最後に配列の使用を試み、各[]の中にいくつの文字があるかを教えています配列。私の問題は、各配列要素にいくつの文字が含まれているかを数え、それを抜き出す方法を見つけることができないことです。 .length関数を使用しようとしていますが、動作していないようです。私はこれを行うことができる別の方法がありますか? ここに私のコードです。私の問題は、私の主な方法の前に、私の最後の方法です。このアレイの出力を修正するにはどうすればよいですか?

package arrayhistogram; 

/** 
* 
* @author Dominique 
*/ 
public class ArrayHistogram { 

    public static int randomInt(int low, int high){ 
double x =Math.random()* (high - low)+low; 
    int x1=(int)x; 

    return x1; 
} 
    public static int[] randomIntArray(int n){ 
     int[] a = new int[n]; 
for (int i=0; i<n; i++) { 
a[i] = randomInt(-5, 15); 
} 
return a; 
    } 
    public static int[] arrayHist() { 
int[] x=randomIntArray(30); 
     for (int i = 0; i < x.length; i++) { 

System.out.println(x[i].length); 
} 

return x;  
} 

    public static void main(String[] args) { 
     arrayHist(); 


    } 

} 
+1

System.out.println(x[i].length); 

http://stackoverflow.com/questions/1306727/way-to-get- int内の桁数 – khuderm

+0

'System.out.println(x [i])'? –

+1

@TimBiegeleisen OPさんは数字の桁がほしいと思います – khuderm

答えて

0

で置き換え

System.out.println(Integer.toString(x[i]).length()); 
+0

ありがとうございました。それは完璧に働いた! –

0

intにはlengthプロパティはありません。これを使用してintの桁数を取得できます。

String.valueOf(x[i]).length() 

これは最初Stringintを変換し、そのStringの長さを返します。例えば、123 => "123"、長さが3

関連する問題