0

それで、議会クラスの特定の変数の割り当てに関する課題の質問があります。できるだけ基本的なものにしましたが、たとえば CanadaParl という名前のサブクラスを作成すると、文字列フィールドを変更できなくなります。Int フィールドは問題なく動作します。文字列については、エラー: シンボルが見つかりません = 変数ボブ(Bob は、PM フィールドの名前として入力しようとしている文字列)と言い続けます。コーディング インターフェイスに BlueJ を使用しています。

これはクラスのメソッドの例です:

public void changePM(String newPM) {
    primeMinister = newPM;
}

これは、新しい文字列への更新を行う間違った方法でしょうか? 見たフィールドを変更するために前の例を使用していましたが、文字列が含まれているかどうかを思い出せません。

編集:混乱して申し訳ありません。私は最初は注意を払っていなかったので、int メソッドをコピーしました。サブクラスが int 値を変更するメソッドは機能していますが、文字列を変更すると上記のエラーが発生します。

クラス全体は次のとおりです。

public class Parliament
{
int members = 0;
int parties = 0;
public String primeMinister = "";
public String oppLeader = "";
public String speaker = "";
boolean inSession = false;
boolean majority = true;


public void changeMembers(int newValue) {
    members = newValue;
}
public void changeParties(int newValue) {
    parties = newValue;
}
public void changePM(String newPM) {
    primeMinister = newPM;
}
public void changeOL(String newOL) {
    oppLeader = newOL;
}
public void changeSpk(String newSpk) {
    speaker = newSpk;
}

}

4

1 に答える 1

1

文字列を引用していますか?たとえば、ボブはグラフィカルユーザーインターフェイスに「ボブ」として入力されていますか?「シンボルが見つかりません」は、そうでない可能性があることを示しているようです。

これは、プリミティブが機能する理由も説明している可能性があります。

于 2012-11-01T01:08:29.120 に答える