0

私はJavaが初めてで、小さな質問があります。コンセプトの誤解によるものだと思います。

だから、私はメインクラスのメニューを持っています:

/**
 * menu.java
*/
public class menu {
    public void run() {
        println ("1. Option#1.");
        println ("2. Option#2.");
        println ("============");

        int choose = readInt("Enter a choice:");
        if (choose == 1) {
        // QUESTION>>>>>   // ### how can I call class option1.java here?

    }
}


/**
 * option1.java
*/
public class option1 { 
   public void scriepedos () { 
        setFont("Times New Roman-24");
        while (true) {
                String str = readLine("Please enter a string: "); 
                if (str.equals("")) break; 
                String rev = reverseString(str); 
                println(rev);
        }
    }

    private String reverseString(String str) {
        String result = "";
        for (int i=0; i<str.length();i++){
            result=str.charAt(i)+result;
        }
        return result.toLowerCase();
    }
}

よろしくお願いします。レオ

4

2 に答える 2

2

たとえば、呼び出すには option1のインスタンスが必要です

option1 o1 = new option1();
o1.scriepedos();

または、メソッドを作成することもできますstatic。つまり、オブジェクトの対応するインスタンスは必要ありません。option1.java

public static void scriepedos () { ...

次にmain.java

option1.scriepedos();

上記はあまりオブジェクト指向ではありません。オブジェクトをカプセル化した状態などを持つことができ、はるかに手続き型のスタイルであるという事実を利用しています。

ノート:

  1. 上記を呼び出すにはpublic static void main()メソッドが必要だと思います
  2. Java スタイルでは、クラス名をキャメルケースにする必要があります。例Option1Main
于 2012-08-16T08:20:55.117 に答える
1

クラスに電話することはできません。クラスの新しいオブジェクトを作成し、次のようなメソッドを呼び出す必要があります。

Option1 op1 = new Option1();
// call any Option1 method
op1.scriepedos();
于 2012-08-16T08:23:28.980 に答える