java有没有办法只从一个输入法取值到另一个方法,而不用再重复整个过程?

Is there a way to only get the value from an input method to another method without repeating the whole process again in java?

我真的很想知道是否有办法只从一个方法获取值到另一个方法。因为在 main 方法中,第一个方法已经被调用,而第二个方法需要第一个方法的输入值。

//主要方法 public static void main(String[] args) {

扫描器reader = 新扫描器(System.in);

  int an = 0;

  an = first_method(an);

  second_method();

}

//第一种方法

static int first_Method (int num) {

    Scanner reader = new Scanner(System.in);

    boolean done = false;

    int num = 0;

    while(!done) { 
                                                
        try {

            System.out.print("Enter a Number: \t\t");

            num = reader.nextInt();

            done = true;

           }

        catch (InputMismatchException e) {

            String s = reader.nextLine();

            System.out.println("Invalid a number: " + s);

           }

    }

    return num;

}

//第二种方法

静态无效second_method() {

  int anum = 0;

  anum = first_method(anum);

  System.out.println(anum);

}

P.S。我知道我的问题在这里有其他人提出的类似问题,但到目前为止,从我搜索的内容来看, none 解决了我的问题,但不匹配异常所以如果有任何与我相同的问题并且已经在这里提出问题那么你可以 link 它。谢谢

当然可以。它被称为 'parameter':

static void secondMethod(int v) {
    System.out.println(v);
}
public static void main(String[] args) {
  Scanner reader = new Scanner(System.in);
  int an = firstMethod(an);
  secondMethod(an);
}

这里,你让firstMethod运行,它产生一个结果(就是你return)。然后将该结果传递给 secondMethod。参数类似于局部变量,只是它们被初始化为调用您的方法的代码确定的值。这里,secondMethod 方法有一个名为 v 的局部变量,它的值以调用 secondMethod 的代码想要的值开始。在这里,我们希望它是 firstMethod 返回的任何内容,从而让我们将 firstMethod 计算的内容传递给 secondMethod 进行处理。

这里,你让firstMethod运行,它产生一个结果(就是你return)。然后将该结果传递给 secondMethod。参数类似于局部变量,只是它们被初始化为调用您的方法的代码确定的值。在这里,secondMethod 方法有一个名为 v 的局部变量,它的值一开始就是调用 secondMethod 的代码想要的值。在这里,我们希望它是任何 firstMethod returned,从而让我们将 firstMethod 计算的东西传递给 secondMethod 进行处理。