1

如何从 java 项目中的不同类调用方法?我有两个不同的类,每个类都在同一个 java 项目中。第一个类的名称是 Applications,而第二个类的名称是 ShowChar。这些类都在同一个 java 项目中。我必须做的是从用户那里获得一个字符串输入,然后我必须从用户那里获得一个整数,然后我必须告诉用户他们选择的整数上的字母是什么。我做了所有这些。这就是 ShowChar 类所做的,但我应该做的是从 Applications 类的 ShowChar 类中调用一个方法。我无法让它工作。请帮忙。

这是我的 ShowChar 课-

public class ShowChar {


char showChar(String text, int index)
{
    char letter='0';

    if((text.equals(null)))
    {
    System.out.print("Invalid input string. The process"
                          + "terminates");
    }
    else{ 
        if(index<0 || index>=text.length())
        {
            System.out.print("Invalid input for index\n"
                           + "The first character of the text is " + text.charAt(0));
            return letter;
        }
    else{
        if(index>=0 && index<text.length()) 
        {
        System.out.println("The character you asked for is: " + text.charAt(index));
        return letter;
        }
    }
    }

return letter;
}
}`     

这是我通过应用程序类得出的结论-

public static void main(String[] args) {
    Scanner keyboard= new Scanner(System.in);




    String text=JOptionPane.showInputDialog("Enter the text: ");
    System.out.println("Enter the index: ");
    int index= keyboard.nextInt();

    ShowChar sc = new ShowChar();




    System.out.println("character found: " + sc.showChar(text, index) );



}

}

在底部,我应该将我找到的信打印到控制台,但我似乎无法让它工作。每当我使用任何输入运行我的程序时,System.out.println 语句总是返回“找到的字符:0”,我一定遗漏了一些东西

4

3 回答 3

1

类的方法可以使用对象名和方法名以点(.)分隔来调用,如下所述:

objName.methodName(params);

你在你的系统输出中正确地调用它:

sc.showChar(text, index)

+您只是缺少使用sysout 中的操作符将“找到的字符:”字符串与 showChar 方法的输出连接起来

 System.out.println("character found: "+ sc.showChar(text, index) );
于 2013-11-05T05:40:37.130 回答
0

+在以下行添加 cancat 运算符

 System.out.println("character found: "+sc.showChar(text, index) );
于 2013-11-05T05:38:24.390 回答
0

你不正是这样做的吗?

ShowChar sc = new ShowChar(); // object of ShowCar class




    System.out.println("character found: " + sc.showChar(text, index) ); // calling a method of ShowCar class
于 2013-11-05T05:39:11.330 回答