Java 初学者返回协助
嘿,我想知道为什么当我在main方法中打印“ask”时,这里的“return ask”没有改变“ask”的值(它在main方法中打印出0,但在Log方法中工作),以及如何修复它。提前谢谢Java 初学者返回协助,java,return,return-value,Java,Return,Return Value,嘿,我想知道为什么当我在main方法中打印“ask”时,这里的“return ask”没有改变“ask”的值(它在main方法中打印出0,但在Log方法中工作),以及如何修复它。提前谢谢 public static int Log(int ask){ int b=0; int c =0; c = scannerobj.nextInt(); b = scannerobj.nextInt(); ask = b*c; System.out.printl
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);
}
因为您从不重置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是按值传递的