私はこのエラーをJava eclipseでコンパイルしようとしています。これはHangmanプロジェクトです

これは私のコードです。私はこの問題を解決するのを手伝ってくださった方々にとても感謝しています。 どうもありがとうございます。私はちょうどコードを書くようになった。私はハングマンプロジェクトを作ろうとしており、私はこれを正しくやっているように感じますが、コンパイルはしません。助けてください

import java.io.*;
import java.util.*;


public class Hangman {

    public static void main(String[] args) throws FileNotFoundException {

        String[] dictionary = loadWords();
        Scanner kb = new Scanner(System.in);
        System.out.println("Welcome to Hangman!");
        System.out.println("How many tries");

        String word = chooseWord(dictionary);
        System.out.println("OK, I've choseen my word. Start guessing");
        System.out.println(word);
        String wordguess = kb.next();
        char guess = wordguess.charAt(0);
        boolean[] bool = new boolean[26];
        processGuess(guess, word, bool);




       //FINISH IMPLEMENTING THIS!
    }

   //Loads a list of words from a file and returns the lsit as a String[].
   //DO NOT ALTER THIS IMPLEMENTATION!!
    public static String[] loadWords() throws FileNotFoundException {
        ArrayList wordList = new ArrayList();
        Scanner wordFile = new Scanner(new File("dictionary.txt"));
        String line;
        while (wordFile.hasNextLine()) {
            line = wordFile.nextLine();
            if(!line.equals(""))   
                wordList.add(line);
        }

        String[] result = new String[1];
        return wordList.toArray(result);
    }
   //Takes an array of strings that represents the valid words as a parameter.
   //Chooses one such word randomly and returns it.
    public static String chooseWord(String[] dict) {

        Random r = new Random();
        int numword = r.nextInt(dict.length); 
        String hangword = dict[numword];  
        return hangword;

    }

   //Checks if a player has won the game
   //Returns true only if all letters in the word have been guessed
    public static boolean hasWon(String word, boolean[] guesses) {

        for(int i = 0; i < word.length(); i++) {
        if (guesses[word.charAt(i)-'a'] == false){
            return false;
            }
        }   
        return true;
    }

   //Prints out the pattern of letters in the secret word based on the word 
   //   and the letters that have been guessed.
   //Prints any letter that has already been guessed and a _ for a letter that 
   //   has not been guessed.
    public static void printPattern(String word, boolean[] guesses) {
        StringBuilder pattern = new StringBuilder();
        for(int i = 0; i < word.length(); i++) { 
            if (guesses[word.charAt(i) - 'a']) { 
                pattern.append(word.charAt(i));
            }
            else {
                pattern.append("_");
            }
            pattern.append(" ");
            }

        System.out.println(pattern.toString());
    }



   //Handles a guess by marking the letter as guessed and returns the number of 
   //   tries to be charged: 0 if the guessed letter is in the word and 1 otherwise. 
    public static int processGuess(char guess, String word, boolean[] guesses) {        
        int holdvalue = 0;
        if (guesses[guess - 'a']) {
            return 0;
        }

        for(int i = 0; i < word.length(); i++) {
            if (word.charAt(i) == guess) {
                holdvalue ++;
            }
        }
        if (holdvalue >= 0){
            return 0;
        }
        else {
            return 1;
        }

    }
}
1
コンパイルエラーを投稿してください。
追加された 著者 Buhake Sindi,
コード内でどの行がコンパイルの問題を起こしているかを示すことができれば役に立ちます。私たちはあなたの問題を簡単に見つけ出すことができます。
追加された 著者 C.c,
これは、スレッド "main" java.io.FileNotFoundException内のコードExceptionをコンパイルしようとするたびに発生します:dictionary.txt(システムは指定されたファイルを見つけることができません)。javaのjava.io.FileInputStream.open(ネイティブメソッド) Hangman.main(Hangman.java:9)のHangman.loadWords(Hangman.java:32)のjava.util.Scanner。(不明なソース)のio.FileInputStream。(不明なソース)
追加された 著者 user1061354,
それは私のためにうまくコンパイルされ、明らかに期待どおりに動作しません。あなたのコンパイルエラーは何ですか?宿題でもないですか?
追加された 著者 talnicolas,
私はそこにコンパイラエラーを見ない
追加された 著者 Deco,

1 答え

私が見るいくつかの問題があります

String[] result = new String[1];

サイズ1の配列を宣言しているため、辞書からロードされる単語は1つだけです。

String[] result = new String[wordList.size()];

あなたは文字列入力をユーザーから受け取り、文字列を配列に格納しているだけで簡単に比較することができます。文字を比較する必要はありません(目標を誤解していない場合)

String a = "something";
String b =  get from array.

if( a!=null && a.equals(b))
{ }

あなたは私たちがあなたを助けるのに役立つ正確な問題を説明したいかもしれません。

1
追加された
重要なことは、 toArray()タグに String 配列(任意のサイズ)を提供することです。 List のメソッド(ただし、私は wordList.toArray(new String [] {})はもっと慣れていると主張します)。
追加された 著者 Mac,