首先,我是JAVA的新手,所以我仍然不了解一切以及它是如何工作的。但我正在研究某些事情,并想知道是否可以这样做。
import java.util.Scanner;
public class Main {
public static int calc(){
Scanner sc = new Scanner(System.in);
String number1 = sc.nextLine();
int y = Integer.parseInt(number1);
System.out.println("+");
String number2 = sc.nextLine();
int z = Integer.parseInt(number2);
int Result = y + z;
sc.close();
return Result;
}
public static void printText(){
System.out.println(Result);
}
public static void main(String args[]) {
calc();
printText();
}
}
在第一种方法中,我正在计算“结果”,在第二种方法中,我只是希望它能够使它成为“结果”并打印出来......但我理解的是,方法中发生的事情仍然存在在方法中。但我想知道是否可以让方法“printText”从“calc”访问int。
我知道我可以将代码放入main并从那里打印出来,但如果可以这样做的话,它仍然会让我感到烦恼:)
答案 0 :(得分:1)
您无法从其他方法访问本地变量,不能。 (方法完成后,局部变量不再存在。)但是,您可以使用calc
方法中的返回值,并将其传递给printText
方法:< / p>
public static void printText(int result) {
System.out.println(result);
}
public static void main(String args[]) {
int result = calc();
printText(result);
}
答案 1 :(得分:1)
为了做类似 1 的事情,您需要提供Result
可见性。由于您的方法是static
,因此它还需要static
。另外,请勿在{{1}}包裹close
上调用Scanner
(这是全局的,您无法重新打开它)。像,
System.in
1 与使用返回值或将其传递给第二种方法相反。