簡體   English   中英

循環打印兩次java

[英]Loop printing twice java

我不知道為什么我的循環打印兩次。 我創建了兩個單獨的類,無論出於何種原因,我都無法弄清楚為什么它會向控制台打印兩次。 我不確定是不是因為我在 TableTest 中稱錯了? 或者如果我在其他地方做錯了什么。 我已經在我的 IDE 和我的命令行中運行了它,但我仍然遇到同樣的問題。

public class TableTest {
public static void main(String[] args){


    int getBegin, getEnd;


        System.out.println("Enter a number to start with: ");
        Scanner input = new Scanner(System.in);
        getBegin = input.nextInt();
            while (getBegin < 0){
                System.out.println("Please enter a number greater than 0.");
                getBegin = input.nextInt();
            }
        System.out.println("Enter a number to end with: ");
        getEnd = input.nextInt();
            while (getEnd < 0 || getEnd < getBegin){
                System.out.println("Please enter a number greater than 0. Or greater than your first input.");
                getEnd = input.nextInt();
    }

        MultiplicationTable loop = new MultiplicationTable(getBegin, getEnd);

        loop.printTable(getBegin, getEnd);

    }
}





public class MultiplicationTable {

public MultiplicationTable(int begin, int end){
    printTable(begin,end);
}

void printTable(int begin, int end){

    System.out.println(String.format("%-10s %-10s %-10s", "Number", "Squared" , "Cubed"));

    for (int i = begin; i <= end; ++i){
        System.out.println(String.format("%-10s %-10s %-10s", i, i* i, i*i*i));
    }

}

}

MultiplicationTable 中的構造函數調用printTable方法,然后在 main 方法中再次調用它

您兩次調用printTable方法:

  1. MultiplicationTable類的構造函數中。

    public MultiplicationTable(int begin, int end){ printTable(begin,end); }

  2. main方法中並獲得MultiplicationTable類的實例后:

    MultiplicationTable loop = new MultiplicationTable(getBegin, getEnd); loop.printTable(getBegin, getEnd);

因此,出於這些原因,它執行了兩次printTable方法。

暫無
暫無

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

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