我试图找出我遇到的一些问题。
基本上我的问题是,我的方法返回的值是不对的。
我有打印行语句只是为了确保它正常工作但它总是返回1
,即使我调用另一个应该返回String的方法。
每次调用方法时都应该更新变量current_number/image_number
(如果我从1
开始一直呼叫前转,我应该得到2
,{{1 },3
等。)。
这是我的代码
4
答案 0 :(得分:1)
好的,我想我明白了。
在switch
语句中,当您调用forward方法时,返回新数字时,您需要一个值来传递新数字,否则会丢失。
将代码更改为此可能会有所帮助。
switch (choice) {
case 1:
current_number = forward(current_number);
break;
case 4:
exit = true;
break;
}
答案 1 :(得分:1)
int
是Java中的原始数据类型。这意味着您的forward
current_number
函数与您的方法current_number
不同。您传入的变量具有相同的值,但不是相同的引用。
要解决此问题,您需要将current_number
的值分配给forward
的结果。
current_number = forward(current_number);
有用的读物:
答案 2 :(得分:0)
无论何时调用该方法,都会传递current_number的副本。然后,当方法结束时,丢弃副本。请尝试使用Integer对象。