我正在尝试创建一个简单的刽子手游戏,其中有一个玩家和多人游戏选项。我试图说,在运行intro方法之后,如果响应为1,则单个player类将调用,如果响应为2,则多玩家类将调用。我假设最有效的方法是将两个选项放入if语句中,除非你现在运行它如何,并按2进行多人游戏,它会再次在intro方法中提出问题,所以我是假设我在if语句中做错了。我已经尝试过使用括号,如果我删除了第二个if语句并且只是为多人游戏添加了其他内容,我可以按任何不是1的数字,它会说“多人游戏”而我只想要2把我带到多人游戏课程。我所有的课程现在都说是一种无效的方法,说“这是来自单人模式”等等。我不明白我在逻辑部分做错了什么,所以如果有人可以请求帮助!
package hangman;
import java.util.*;
public class HangmanMain
{
public static final Scanner input = new Scanner(System.in);
public static int intro(int num)
{
int answer = num;
System.out.println("How many players are playing? Press 1 for single player and 2 for multiplayer:");
int response = input.nextInt();
if (response == 1)
answer = 1;
if (response == 2)
answer = 2;
return answer;
}
public static void main(String[] args)
{
SinglePlayer single = new SinglePlayer();
Multiplayer multi = new Multiplayer();
if (intro(0) == 1)
single.test1(0);
if (intro(0) == 2)
multi.test2(0);
}
}
答案 0 :(得分:1)
您拨打intro(0)
两次。将结果存储在变量中,并将其与if
(s)进行比较。使用else
,也请使用
int introVal = intro(1);
if (introVal == 1) {
single.test1(0);
// .. more stuff here.
} else if (introVal == 2) {
multi.test2(0);
// or here.
}
此外,您的intro()
方法可以使用
public static int intro(int num)
{
System.out.println("How many players are playing? Press 1 for single "
+ "player and 2 for multiplayer:");
int response = input.nextInt();
if (response == 1 || response == 2) {
return response;
}
return num;
}