我的java输出在添加方法时出现两次?
当我运行代码时,它工作正常,直到我进入IF语句,在那里我可以选择输入“1”或“2”,结果显示下一个println两次?我对java还是新手,所以如果有任何帮助,我将不胜感激我的java输出在添加方法时出现两次?,java,Java,当我运行代码时,它工作正常,直到我进入IF语句,在那里我可以选择输入“1”或“2”,结果显示下一个println两次?我对java还是新手,所以如果有任何帮助,我将不胜感激 import java.util.Scanner; public class Assignment{ public static void main ( String[] args ) { Assignment game; game = new Assignment(); game.darkJun
import java.util.Scanner;
public class Assignment{
public static void main ( String[] args ) {
Assignment game;
game = new Assignment();
game.darkJungle();
game.oldBridge();
game.abandonedShack();}
public void darkJungle() {
Scanner scanner = new Scanner(System.in);
System.out.println("Hello adventurer. You awake from your slumber in a dark jungle, with no
memory of your past life.");
System.out.println("");
System.out.println("Before you set off exploring for answers, what do you wish to call
yourself?");
String playerName = scanner.next();
System.out.println("hello " + playerName);
System.out.println();
System.out.println("Inventory");
System.out.println("-------------");
String weapon;
weapon = "glock";
boolean rustyKey = true;
System.out.println(weapon);
System.out.println("rustyKey");
System.out.println();
System.out.println("You look to the east and west and notice they're the safest looking paths.
Which path do you set off on?");
System.out.println("1: west");
System.out.println("2: east");
int choice;
choice = scanner.nextInt();
if(choice==1){
System.out.println("You have wandered onto a creaky old bridge.");
oldBridge();}
if(choice==2)
{System.out.println("You find an abandoned shack.");
abandonedShack();}
}
public void oldBridge() {
System.out.println("hello world");
}
public void abandonedShack() {
}
}
输出如下所示
你好,冒险家。你在黑暗的丛林中从睡梦中醒来,对过去的生活毫无记忆
在你开始探索答案之前,你想称自己为什么?
约翰市民
你好,约翰公民
存货
格洛克 拉斯蒂基 你看东西,发现它们是最安全的路径。你走哪条路? 1:西部 2:东 1. 你走到了一座吱吱作响的老桥上。 你好,世界 你好,世界
当我到达地狱世界部分时,它会打印两次。这是为什么?我如何修复它?您的
darkJungle()
方法调用您的oldBridge()
方法(打印“hello world”)。在主方法调用darkJungle()
之后,它立即调用oldBridge()
。这导致“hello world”被打印两次。一次是由darkJungle()
调用oldBridge()
,一次是由main方法直接调用。您正在调用打印两次“hello world”的oldBridge()
方法。一次直接在main方法中,一次在darkJungle()
方法中,如果用户输入1(您输入1)。感谢您的解释。我如何避免发生两次。很抱歉,如果这很明显,我对java真的很陌生。