0

後で最初の質問をコーディングします...

public class Program2 
{
//The custom word object used when parsing the input file
class Word
{
    public String wordname;
    public int count;
    public int uniqueWord = 0;

    public Word(String word)
    {
        wordname = word;
        count = 1;
    }

    public boolean wordExists(String word)
    {
        if (word == this.wordname)
        {
            this.count++;
            return true;
        }
        else
        {
            return false;
        }   
    }

    public int getCount(Word word)
    {
        return this.count;
    }

    public String getName(Word word)
    {
        return this.wordname;
    }

}


// The main method
public static void main(String[] args) throws IOException
{
    //new array of words size 100
    Word[] words = new Word[100];
    //set the first word to bananna
    Word words[0] = new Word("bananna");
    //print bananna
    System.out.print(getName(words[0]));
}
}

さて、私がJavaについて知っていることで、上記のコードでは、単語の配列を作成し、最初の単語を「bananna」に設定して、それを印刷する必要があります。このようなカスタムクラスを作成した経験はほとんどなく、モデル化するための適切なリソースを見つけることができません。また、静的/非静的メソッドの呼び出しを100%理解しているとは限らないため、エラーの一部もそこから発生していると確信しています。

プログラムが最終的に何をすべきか、私がこれを行う理由の参照として、ファイル(区切り文字列、別名Words)から情報を取り込んで、それが単語の配列にすでに存在するかどうかを確認する必要があります(そして、その単語の数を増やす必要があります)そうでない場合は、新しい単語を作成します。

私が得ているエラーはここにあります:


Program2.java:116: ']' expected
            Word words[0] = new Word("bananna");
                       ^
Program2.java:116: illegal start of expression
            Word words[0] = new Word("bananna");
                        ^
2 errors

あなたが必要とする他の情報は私に知らせてください。1時間以内にこの投稿を確認するために戻ってきます。助けてくれてありがとう!

4

4 に答える 4

2
Word words = new Word[100];

私が見ることができるあなたの主な問題Word[100]は、Word オブジェクトを保持する配列型であることです。Word[]variable という単語は、 typeだけでなく、 type である必要がありますWord

静的および非静的については、次のように考えてください。Wordクラスを作成したら、そのクラスに属するWordオブジェクトを好きなだけ作成できます。何かがstaticである場合、それは Wordクラスに属していることを意味するため、特定の単語に属さずに単語の定義に属しています。対照的に、静的でないものは特定の Word オブジェクトに属します。

于 2012-09-18T20:52:58.487 に答える
1

問題は、オブジェクトの配列を作成する方法にあります。クラスの配列を宣言してから、オブジェクトを作成する必要があります。

//new array of words size 100
Word[] words = new Word[100];

//次にオブジェクトを作成します

words[0] = new Word("apple");
于 2012-09-18T20:56:38.877 に答える
1

配列を作成しようとすると構文エラーが発生します。次のようにする必要があります。

Word[] words = new Word[100];

Word クラスのインスタンスWord.newWord()でメソッドを呼び出さずに呼び出す場合、このメソッドは.static

于 2012-09-18T20:53:01.390 に答える
1

最初のエラーメッセージから始めましょう。これは、Word[]Wordが互換性のない型であることを示しています。最後の[]は、これがオブジェクトの配列であることを示していWordます。つまり、Word words単一のWordオブジェクトへの参照を宣言します。を使用するとnew、それらの配列が割り当てられます。これを修正するには、単にWord[] words.

他のエラー メッセージについては、これを修正すると変更される可能性があるため、詳しく説明しません。あなたのJavaで頑張ってください!

于 2012-09-18T20:54:32.823 に答える