Javaに関する様々な情報をご紹介します。

Javaに関する様々な情報をご紹介します。
評価

0

java リストからランダムに呼び出して表示する方法

ここまで書いて、作文ボタンを押すと、リストに保存した要素をランダムに呼び出して、「ここに作文が表示されます」の部分に”名詞”が”動詞”という作文に変えたいのです。
けど作文ボタンを押した後の処理からわからないです。教えていただけないでしょうか。

    public void start() {
        hide();
        window.size(500,700);
        
        //作文テキスト
        TextTurtle text = new TextTurtle("ここに作文が表示されます");
        text.fontsize(16);
        text.warp(100,30);
        
        // 入力ボックス
        InputTurtle noun = new InputTurtle();
        noun.toJapaneseMode();
        noun.warp(30, 95);
        
        InputTurtle verb = new InputTurtle();
        verb.toJapaneseMode();
        verb.warp(30, 240);
        
        // 表示用テキスト
        TextTurtle text1 = new TextTurtle("名詞を入力");
        text1.fontsize(14);
        text1.warp(50,70);
        
        TextTurtle text2 = new TextTurtle("動詞を入力");
        text2.fontsize(14);
        text2.warp(50,210);
        //ボタンを作る
        ButtonTurtle meishi = new ButtonTurtle("名詞を保存");
        meishi.warp(60,140);
        
        ButtonTurtle doushi = new ButtonTurtle("動詞を保存");
        doushi.warp(60,280);
        
        ButtonTurtle sakubun = new ButtonTurtle("作文!");
        sakubun.warp(60,320);
        
        
        //名詞を保存するリストを作る
        ListTurtle<TextTurtle>nouns = new ListTurtle<TextTurtle>(true);
        nouns.warp(60,390);
        
        ListTurtle<TextTurtle>verbs = new ListTurtle<TextTurtle>(true);
        verbs.warp(60,440);
        
        while (true) {
            sleep(0.025);// 待つ
            
            //ボタンが押されたらリストに保存
            if(meishi.isClicked()) {
                nouns.addLast(new TextTurtle(noun.text()));
                noun.clearText();
                verb.clearText();    // 表示用テキストの内容をリセットする
            }
            
            if(doushi.isClicked()) {
                verbs.addLast(new TextTurtle(verb.text()));
                noun.clearText();    
                verb.clearText();// 表示用テキストの内容をリセットする
            }
            //作文ボタンを押した後の処理
            if(sakubun.isClicked()) {    
                for(int i = 0; i <= nouns.getSize(); i ++){
                    nouns.get(random(i));
                    
                    
                }    
                for(int k = 0; k <= verbs.getSize(); k ++){
                    verbs.get(random(k));
                    
                }
                TextTurtle result = new TextTurtle( nouns + "が" + verbs );
                text.text(result.text());
            }
            
            
            update();// 再描画する
        }
    }
}

1

回答

5871

閲覧

1件の回答

評価

0

~Turtleというクラスが分からないし、100%確実なことは言えないんだが。

どんなに大きなプログラムも、実現したい何かをバラバラにした、それぞれ意味のある1行1行の集まりなんだよ。sakubun.isClicked()のifの中の1行1行が、それぞれどういう意味なのか自分で言えるだろうか。
とくにforループを何のために書いたか。

念のため、ここでは基本的に「正解のコード」は回答されない。

回答する

ログインしていません。

ログインしなくても回答はできますが、ログインすると、質問・回答の管理、更新があった場合のメールでの通知を受けることができます。 アカウントをお持ちでない方は会員登録を行ってください。

ユーザ名匿名