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

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

0

return文が指定されていませんというエラーについて

public int readTactics(){
    Vector results = Judge.getResults();
    ResultData rd;
    if(results.size()>0){
        rd = (ResultData)results.get(results.size()-1);
        if(rd.getWinPlayerName() != name || rd.getWinPlayerName() == name){
        return rd.getWinPlayerHand();
        } else if(rd.getWinPlayerName() == null){
        return(int)(Math.random()*3);
        }
    } else if(results.size()>1){
        return(int)(Math.random()*3);    
    }
    }

じゃんけんの勝敗履歴を読み取って
勝敗回数が一回以上なら直前のデータを読み取り
勝者が相手か自分なら勝った時の手を
引き分けだったら、ランダムの手を出すようなプログラムを作っていたのですが
タイトルのようなエラーが出て困っています
どうか助言いただけないでしょうか?
このコードは一部ですが他のところにはおかしいところはありませんでした。

2

回答

4083

閲覧

2件の回答

評価

0

戻り値の型にintが指定されているので、このコードは必ずint型の値を返さなければなりません。
しかし、このコードにはreturn文を通らないケースがあります。

質問するときのコツですが、エラーがでるときはスタックトレースまで一字一句コピペするようにしましょう。
問題解決がしやすくなります。

評価

0

まずは、エラーメッセージそのものを検索してみることだ。
このメッセージだと、今現在はこのサイトのFAQが引っかかるぞ
http://www.javaroad.jp/faq/faq_error1.htm

初心者のうちに目にするエラーは、大抵他の人も見たことがあるもので、検索すれば事例が見つかることがほとんどだ。

質問から6ヶ月以上経過しているので、回答を書き込むことはできません。