この前質問させていただいたときに回答して下さった方のソースをコンパイルしてみたんですが(いらないimportまで書いてると思いますが気にしないでください)listの参照があいまいですというエラーが出ます
調べてもわからず
インデックスが抜けてるのでしょうか?
どうかわかる方修正していただけませんか?
このエラーがわからないとなると恥ずかしい気がして。。。すいません
しりとりゲームを作りたいのです
import java.awt.;
import java.awt.event.;
import javax.swing.;
import java.io.Console;
import java.io.;
import java.util.*;
import java.util.ArrayList;
import java.util.Iterator;
public class Shiritori {
private static final BufferedReader READER = new BufferedReader( new InputStreamReader(System.in)); java.sql.Date date; private static final List<String> DICTIONARY = Collections .unmodifiableList(Arrays.asList("りんご", "ごりら", "らっぱ","ぱんつ","つくし", "しりとり","しめじ")); private static final List<String> USED = new ArrayList<>(); private static final Random RANDOM; static { try { RANDOM = SecureRandom.getInstanceStrong(); } catch (NoSuchAlgorithmException e) { throw new RuntimeException(e); } } public static void main(String[] args) throws IOException { String yours = DICTIONARY.get(RANDOM.nextInt(DICTIONARY.size())); System.out.println(new StringBuilder().append("じゃあねー最初は[").append(yours) .append(']').append("だよ")); for (;;) { final String mine = READER.readLine(); if (mine.isEmpty()) { continue; } if(mine.equals("!")){ System.out.println("へへん.勝ったー!"); return; } if (yours.charAt(yours.length() - 1) != mine.charAt(0)) { System.out.println(new StringBuilder().append("その単語[") .append(yours.charAt(yours.length() - 1)) .append("]で始まってないじゃん!")); continue; } if (!DICTIONARY.contains(mine)) { System.out.println("その単語知らない!知ってそうな単語を入力して!"); continue; } if(USED.contains(mine)){ System.out.println("その単語使ったよ!忘れたとはいわせないよ!"); continue; } USED.add(mine); List<String> result = search(mine.charAt(mine.length() - 1)); if (result.isEmpty()) { System.out.println("もうわかんない.負けたー"); return; } yours = result.get(RANDOM.nextInt(result.size())); if(USED.contains(yours)){ System.out.println(new StringBuilder().append('[').append(yours).append(']') .append("は言ったっけー.わかんない.まけたー")); return; } System.out.println(new StringBuilder().append("じゃあ[") .append(yours).append(']').append('!')); } } public static final List<String> search(char firstChar) { List<String> result = new ArrayList<>(); for (String word : DICTIONARY) { if (word.charAt(0) == firstChar) { result.add(word); } } return result; }
}
回答3件
あなたの回答
tips
プレビュー