嘿,我想知道为什么"回复问"这里不会改变'问'当我在我的main方法上打印它(它在main中打印出来但在Log方法中工作)以及我如何修复它。提前谢谢!
public static int Log(int ask){
int b=0;
int c =0;
c = scannerobj.nextInt();
b = scannerobj.nextInt();
ask = b*c;
System.out.println(ask);
return ask;
}
public static void main(String [] args){
int ask=0;
Log(ask);
System.out.println(ask);
}
答案 0 :(得分:1)
因为你从不重置ask变量,而是忽略了Log方法返回的int:
Log(ask); // the int returned is not assigned to anything
取而代之的是:
ask = Log(ask); // assign the int returned from the method back into ask.
还要了解Log方法中的ask参数与main方法中的ask变量完全断开。改变一个对另一个没有影响,特别是因为ask是一个原语,而Java是按值传递的。