我的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

当我运行代码时,它工作正常,直到我进入IF语句,在那里我可以选择输入“1”或“2”,结果显示下一个println两次?我对java还是新手,所以如果有任何帮助,我将不胜感激

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真的很陌生。