簡體   English   中英

如何在If語句中的If語句中調用方法?

[英]How to call a method in an If-statement inside an If-statement?

這是我的代碼:

import java.util.Scanner;

class test {
  public static void main(String[]args){
    Scanner in=new Scanner(System.in);


    System.out.print("Enter disc to move: ");
    int disc=in.nextInt();
    System.out.print("Enter destination: ");
    char dest=in.next().charAt(0);

    if ((disc==1)&&((dest=='B')||(dest=='b'))){
      AAB(disc,dest);
      {
        printM(disc, dest);
        {
          if ((disc==2)&&((dest=='C')||(dest=='c')))
            ACB(disc, dest);
        }
      }
    }
  }

  public static void AAB(int disc, char dest){
        System.out.println("A: 32");
        System.out.println("B: 1");
        System.out.println("C: ");
        System.out.println(" ");
  }
  public static void ACB(int disc, char dest){
        System.out.println("A: 3");
        System.out.println("B: 1");
        System.out.println("C: 2");
        System.out.println(" ");}
  }
}

我的輸出看起來像:

Enter disc to move: 1
Enter destination: b
A: 32
B: 1
C: 

Enter disc to move: 2
Enter destination: c

現在,我的問題是當我輸入2作為磁盤並輸入c作為目標磁盤時,它不輸出我的輸出。 我針對這種情況制定了一種方法,即ACB 有人可以幫我語法嗎?

我正在使用這些代碼進行作業(河內塔)

無論disc等於1還是2 ,都將永遠不會嵌套嵌套if語句中的代碼。 更改

if ((disc==1)&&((dest=='B')||(dest=='b'))){
    AAB(disc,dest);
    {
    printM(disc, dest);
       {
        if ((disc==2)&&((dest=='C')||(dest=='c')))
            ACB(disc, dest);
        }
    }
}

if ((disc==1)&&((dest=='B')||(dest=='b'))){
    AAB(disc,dest);

    printM(disc, dest);
}
else if ((disc==2)&&((dest=='C')||(dest=='c')))
    ACB(disc, dest);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM