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();

以上不是很OO。您现在正在利用这样一个事实,即您可以拥有一个对象封装状态等,并且是一种更加程序化的风格。

笔记:

  1. 我怀疑您需要一个公共静态 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 回答