1

このコードは、入力ダイアログ ボックスでフル ネーム文字列の例「Billy Bob Smith」を受け取り、イニシャルをモノグラムの例「BBS」としてメッセージ ダイアログ ボックスに出力することになっています。しかし、なんらかの理由で、メイン メソッドでは fullName 変数にアクセスできません。

import javax.swing.*;

public class HardMonogram {
     //---------- ATTRIBUTES ----------//
     private String fullName;
     private String monogram;
     private String first;
     private String middle;
     private String last;


     //---------- METHODS ----------//
     public String getInitial(String seperateName) {
           return seperateName.substring(0, 1);
     }

     public void getSeperateName(String fullName) {
           first  = fullName.substring(0, fullName.indexOf(" "));
           middle = fullName.substring(fullName.indexOf(" ") + 1, fullName.length());
           last   = middle.substring(middle.indexOf(" ") + 1, middle.length());
           middle = middle.substring(0, middle.indexOf(" "));
     }

    public void setMonogram() {
          monogram = getInitial(first)  +
                     getInitial(middle) +
                     getInitial(last);

    JOptionPane.showMessageDialog(null, monogram);
    }

    public static void main(String[] args) {
           myMono.fullName = JOptionPane.showInputDialog(null, "Type in you full name");

           HardMonogram myMono = new HardMonogram();
           myMono.getSeperateName(myMono.fullName);
           myMono.setMonogram();

    }


}

このビルドエラーが発生します

/Users/aaron/School/Fall 2012/CSCI-C 201/Labs/LB08/HardMonogram.java:33: error: cannot find symbol
    myMono.fullName = JOptionPane.showInputDialog(null, "Type in you full name");
    ^
symbol:   variable myMono
location: class HardMonogram
1 error
[Finished in 1.2s with exit code 1]

Java クラスの紹介ですが、変数にアクセスできない理由がわかりません。私は明らかに何かを見落としています。何か案は?

4

3 に答える 3

5

アップデート:

質問をもう一度読んだ後、インスタンスの作成後に main メソッドの最初の行を移動するだけです。

       HardMonogram myMono = new HardMonogram();
       myMono.fullName = JOptionPane.showInputDialog(null, "Type in you full name");
       myMono.getSeperateName(myMono.fullName);
       myMono.setMonogram();
于 2012-11-29T21:12:41.937 に答える
4

myMono.fullName = JOptionPane.showInputDialog(null, "Type in you full name");オブジェクト宣言( )の後に置くだけHardMonogram myMono = new HardMonogram();です。

于 2012-11-29T21:16:47.417 に答える
0

メイン メソッドの最初の行で MyMono が宣言されていません。先頭に追加します。

public static void main(String[] args) {
      HardMonogram myMono = new HardMonogram();
      myMono.fullName = JOptionPane.showInputDialog(null, "Type in you full name");
      myMono.getSeperateName(myMono.fullName);
      myMono.setMonogram();

}
于 2012-11-29T21:18:38.023 に答える