如何在另一种方法中使用来自一种方法的用户输入字符串?

Nic*_*nte 3 java string methods

该程序的这一点是将用户名的字符长度限制为 20 个字符。它是一个较大程序的一部分,该程序当前仅包含一个 Main 方法。为了清理和澄清我的代码,我想将各种函数分成不同的方法。

目前,我正在尝试设置类变量,以便它们可以在多种方法中使用。这是我到目前为止所拥有的:


public class Program
{
    Scanner read = new Scanner(System.in);
    String firstName = read.nextLine();
    String lastName = read.nextLine();
    
    public void main(String[] args) {
        domainCharLimit();
    }
    
    public void domainCharLimit() {
        String firstNameNew = firstName.replace("'", "");
        String lastNameNew = lastName.replace("'", "");
        String domainUsername = firstNameNew + "." + lastNameNew;
        if (domainUsername.length()>20) {
                String cutName = domainUsername.substring(0, 20);
                domainUsername = cutName;
            }
        System.out.print(domainUsername);
    }    
}
Run Code Online (Sandbox Code Playgroud)

我尝试将一种或两种方法设置为静态,但这没有解决问题。在这种状态下,运行时,程序不会返回错误,而是给出“无输出”

Voj*_*rić 5

Main方法必须是静态的!它是你的程序的入口,它的签名必须是这样的。

为了调用其中的非静态方法,您需要实例化一个对象并在该对象上调用它。在你的情况下类似

public static void main(String[] args) {
   Program p =  new Program();
   p.domainCharLimit();
}
Run Code Online (Sandbox Code Playgroud)