2011-10-21 6 views
1

別のクラスを使用するflesch読書プログラムを作成しました。私は、同じフォルダに2つのクラスを保存するだけで、他のクラスにアクセスできるようにすることはできますが、エラーが発生しているという印象を受けました。何か案は。クラス発行Java

私は取得していますエラーは次のとおりです。

Flesch.java:36: cannot find symbol 
symbol : method getSyllableCt() 
location: class Flesch 
    sllyablesCt = getSyllableCt(); 

肉はここにある:

public class Flesch{ 

public static void main(String args[])throws Exception{ 
    int syllablesCt, 
     wordCt, 
     sentenceCt; 
    double flesch; 

    String listStr; 
    StringBuffer sb = new StringBuffer(); 

    String inputFile = JOptionPane.showInputDialog("What file do you want to sort?"); 

    BufferedReader inFile = new BufferedReader(new FileReader(inputFile)); 

    sb.append(inFile.readLine()); 

    //listStr = inFile.readLine(); 
    while (inFile.readLine() != null){ 

     sb.append(inFile.readLine()); 
     //listStr = inFile.readLine(); 

    } 


    Sentence sentence = new Sentence(sb); 
    wordCt = getWordCt(); 
    sentenceCt = getSentenceCt(); 
    System.out.println("The sentence count is" + sentenceCt); 
    System.out.println("The word count is" + wordCt()); 
    Word word = new Word(getWords()); 

    sllyablesCt = getSyllableCt(); 
    System.out.println("The syllable count is" + syllablesCt); 

    flesch = (.39 * wordCt/sentenceCt) + (11.8 * syllablesCt/wordCt) - 15.59; 
    System.out.println("The Flesch Readability of this document is" + flesch); 

    inFile.close(); 
} 
} 

答えて

1

メソッドが別のクラスである場合、あなたはクラスが静的な作りにする必要があります。

ClassName.getSyllableCt();

4

方法は、彼らは(a)の静的メソッドとして参照、または(b)クラスのインスタンスに呼び出されるいずれかの必要が別のクラスに住んでいる場合。

// Static method 
int syllableCount = TheOtherClassName.getSyllableCt(); 

// Instance method 
TheOtherClassName otherClass = new TheOtherClassName(); 
int syllableCount = otherClass.getSyllableCt(); 

ただし、問題の方法がどこにあるのか、どのようにデータを取得しているかは明確ではありません。

1
sllyablesCt = getSyllableCt(); 

コードに誤字があります。その変数は存在しません。

syllablesCt = getSyllableCt(); 
+0

メッセージには 'symbol:method getSyllableCt()location:class Flesch'と表示されますが、trueに変更してください。 –

+0

はい、私はそれを理解しています。ただし、すべてのエラーを修正して、デバッガが正しいエラーレポートを表示していることを確認することをお勧めします。 getSentenceCT()が他のクラスファイルにある可能性があります。 – Genzume

+0

@Dave - 静的エラーの場合、通常、メッセージには静的メソッドの必要性が示されます。これはタイプミスのようです。 – Spidy

関連する問題