は私がやろうとしていますすべてがある
「シンボル長を見つけることができません」というエラーが表示されますで、私はこのコードを入力すると文字列の長さを見つけ、その長さを変数に格納します。
誰でも問題を見つけるのを助けることができますか?
String[] words = {
"hello", "java", "yamaha", "dell", "hydro"
};
a = (int) (Math.random() * 6);
b = (words[a]).length;
は私がやろうとしていますすべてがある
「シンボル長を見つけることができません」というエラーが表示されますで、私はこのコードを入力すると文字列の長さを見つけ、その長さを変数に格納します。
誰でも問題を見つけるのを助けることができますか?
String[] words = {
"hello", "java", "yamaha", "dell", "hydro"
};
a = (int) (Math.random() * 6);
b = (words[a]).length;
Stringクラスはlength
性質を持っていない、あなたはlength()
メソッドを呼び出す必要があり
b = (words[a]).length();
/\
||
||
||
Since you are accessing the a'th index of array, which returns String hence you have to call length() method instead of length which is the field in array instead
Scarywombatが指摘したように、あなたを変更する必要があるので、あなたは、同様に境界例外から抜け出す可能性があります条件
a = (int) (Math.random() * 5); // 5 instead of 6
文字列は長さをサポートしていません可変長の変数が他の配列に使用されます。代わりにl ength()メソッド。
String[] words =
{
"hello", "java", "yamaha", "dell", "hydro"
};
a = (int) (Math.random() * 6);
b = (words[a]).length();
' a =(int)(Math.random()* 6);正しいですか? –
はい..私はintにキャストする必要はないと思う@Scary Wombet –
@PrakashSharma彼はキャスティングについて話していない、あなたは間違いなくキャストしなければならない。問題は、このステートメントは、範囲外の例外を引き起こすインデックス5を与えることができるということです。配列の長さは5 –
文字列にはlength
というプロパティがありませんが、配列にはそれがあります。 配列の場合、およびの文字列にはlength()
を使用する必要があります。
あなたは、時にはは 'も –
このコード1としてOOB例外を取得するように見える(INT X = 0; X <100であり; x ++){ \t \tのSystem.out.println(X) \t \t int a =(int)(Math.random()* 6); \t \t int b =(words [a])。length(); \t \t} ' –