2017-11-17 9 views
-2

メソッドをコンパイルして、メインメソッドに作成した配列からランダムな文字列を出力するように、コードを修正する方法はありますか?配列からランダムな文字列を出力する方法を使用するには?

class Main 
{ 
    public static void main (String[] args) 
    { 
    randomWord(); 
    System.out.println (random); 
    } 

    static String[] randomWord() 
    { 
    String[] randomWords = {"dog", "cat", "monkey"} 
    String random = randomWords[(int)(Math.random() * randomWords.length)]; 
    return random; 
    } 
} 
+1

'String []' –

+0

...の代わりに 'String'を返し、実際に戻り値を薄い空気に消える代わりにどこかに割り当てます。 – Kayaman

答えて

1

戻り値でメソッドを使用する方法を理解できていないようです。この方法:あなたは、randomを返しているか、文字列であるため

static String[] randomWord() 
    { 
    String[] randomWords = {"dog", "cat", "monkey"} 
    String random = randomWords[(int)(Math.random() * randomWords.length)]; 
    return random; 
    } 

は本当に、代わりにString[]String返す必要があります。だから、それを変更します。このメソッドを使用するには

static String randomWord() 
    // ... 

、あなたはちょうどこのようにそれを呼び出すことはありません:

randomWord() 

これは、戻り値を破棄します。戻り値を取得するには、変数を作成することができます。

String random = randomWord(); 

は今、あなたはそれを印刷することができます。

System.out.println(random); 

はあなたにも1行に2行を書くことができます。

System.out.println(randomWord()); 
1

ランダムインデックス範囲は0である必要があります< = yourArraySize

static String randomWord() 
    { 
     String[] randomWords = {"dog", "cat", "monkey"}; 
     return randomWords[ThreadLocalRandom.current().nextInt(0, randomWords.length + 1)]; 
    } 
0

コードには2つの小さな変更が必要ですが、それぞれの変更の理由とその理由を説明します。ここで

変更を適用した後の作業バージョンです:作ら

public class Main { 

    public static void main(String[] args) { 
    System.out.println(randomWord()); //randomWord() returns the random string which is directly printed 
    } 

    static String randomWord() { 
    String[] randomWords = {"dog", "cat", "monkey"}; 
    return randomWords[(int) (Math.random() * randomWords.length)]; 
    } 
} 

微調整機能:

1 - あなたは、そのローカル変数のため、あなたの主な方法でアクセスすることができない変数「ランダム」をプリントアウトしています方法 'randomWord()は'

コード 'randomWord()' メソッド自体

の戻り値を出力する変形しました
System.out.println(randomWord()); 

2 - 「randomWordは()」文字列の配列を返すように定義されていますが、実際には、あなたは変数「ランダム」という文字列を返している

コード定義の中で文字列を返すようにを修正

static String randomWord() 
関連する問題