gpt4 book ai didi

Java - 方法输出不返回新值?

转载 作者:行者123 更新时间:2023-12-02 02:15:51 26 4
gpt4 key购买 nike

我正在尝试解决我遇到的一些问题。

基本上我的问题是,我的方法返回的值不正确。

我有打印行语句只是为了确保它正常工作,但它总是返回 1 ,即使当我调用另一个应该返回字符串的方法时也是如此。

变量current_number/image_number每次调用方法时都应该更新(如果我继续从 1 开始调用转发,我应该得到 234 等)。

这是我的代码

public class Menu {

static final int MIN_NUMBER = 1;
static final int MAX_NUMBER = 8;
static int image_number = 1;
static boolean exit;

public static int forward(int current_number) {
if (current_number < MAX_NUMBER) {
current_number++;
} else if (current_number >= MAX_NUMBER) {
current_number = MIN_NUMBER;
}
return current_number;
}

public static void showMenu() {
int current_number = image_number; // global int that equals 1

while (!exit) {
Scanner input = new Scanner(System.in);
Random rand = new Random();
int randomvalue = rand.nextInt(MAX_NUMBER) + MIN_NUMBER; // used in another method

System.out.println("1. forward"); // menu with options
System.out.println("2.");
System.out.println("3.");
System.out.println("4. Exit");
System.out.println(current_number);

int choice = input.nextInt();

switch (choice) {
case 1:
forward(current_number);
break;

case 4:
exit = true;
break;
}
}
}
}

最佳答案

好的,我想我明白了。

在您的 switch 语句中,当您调用forward方法时,返回新号码,您需要一个值来传递新号码,否则它会丢失。

将您的代码更改为此可能会有所帮助。

switch (choice) {
case 1:
current_number = forward(current_number);
break;

case 4:
exit = true;
break;
}

关于Java - 方法输出不返回新值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49309961/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com