2

自分のコンピューターで正常に実行される.jarを実行しようとしていますが、他のコンピューターでは次の例外が発生します。

Exception in thread "main" java.lang.NoSuchMethodError: java.lang.Character.isAlphabetic(I)Z
    at chatai.Word.shrinkEndPunct(Word.java:91)
    at chatai.Word.createWord(Word.java:36)
    at chatai.ChatAI.addSentence(ChatAI.java:54)
    at shared.Initializer.main(Initializer.java:130)

私はこれまで(I)Zの部分を見たことがありませんが、これが何を意味するのか誰か知っていますか?私はすでにJavaを更新しようとしました。

4

2 に答える 2

7

私はこれまで(I)Zの部分を見たことがありませんが、これが何を意味するのか誰か知っていますか?

この(I)Z部分は、メソッドシグネチャの引数と戻り型の部分を記述します。

この場合、メソッドは引数としてを取りint、を返しますboolean

このようなタイプ表記の完全なリストは次のとおりです。

V           void
Z           boolean
C           char
B           byte
S           short
I           int
F           float
J           long
D           double

L<class>;   Reference type, for example Ljava/lang/String;

プログラムがコンピュータで正常に実行される理由を理解するのは難しいです。isAlphabetic標準のJavaAPIで呼び出されるメソッドはありません。

このCharacter.isAlphabeticメソッドはJava7で導入されました。Java7を実行しているようで、友人にはJava 6(またはそれ以前のバージョン)しかインストールされていません。

于 2011-09-01T12:26:28.463 に答える
0

ユーザーaioobeは、このエラーメッセージを解釈する方法について良い説明をしました。参照されているメソッドはjava7でのみ導入されたようです。

于 2011-09-01T12:37:17.300 に答える