第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何右對齊弗洛伊德 2 的三角冪的打印

如何右對齊弗洛伊德 2 的三角冪的打印

青春有我 2024-01-28 16:14:13
如何在輸出弗洛伊德三角形的最后 2 行中向左移動?這是我的輸出:      1      21     421    8421   168421  32168421 預期輸出:         1         21        421       8421     168421   32168421 這是我的代碼: for(int i=0; i<=5; ++i) {         //total of space        int n=6-i;         //print space         while(n>0) {             System.out.print(" ");             n--;         }         //print number         for(int j=i; j>=0; j--) {             System.out.print((int)Math.pow(2, j));         }         System.out.println(" ");     }謝謝
查看完整描述

2 回答

?
繁星淼淼

TA貢獻1775條經驗 獲得超11個贊

  int lineLength = 8;


    for (int i = 0; i <= 5; ++i) {


        //print number

        StringBuilder sb = new StringBuilder();

        for (int j = i; j >= 0; j--) {

            sb.append((int) Math.pow(2, j));

        }


        //print space

        for (int spaces = lineLength - sb.length(); spaces > 0; spaces--) {

            System.out.print(" ");

        }

        System.out.println(sb.toString());

    }

還有一個更通用的例子:


public static void main(String[] args) {


    int numbersToCompute = 10;

    int lineLength = floydsNumber(numbersToCompute).length();

    for (int i = 0; i <= numbersToCompute; ++i) {

        String floydsNumber = floydsNumber(i);

        for (int spaces = lineLength - floydsNumber.length(); spaces > 0; spaces--) {

            System.out.print(" ");

        }

        System.out.println(floydsNumber.toString());

    }

}


private static String floydsNumber(int i) {

    StringBuilder sb = new StringBuilder();

    for (int j = i; j >= 0; j--) {

        sb.append((int) Math.pow(2, j));

    }

    return sb.toString();

}


查看完整回答
反對 回復 2024-01-28
?
哆啦的時光機

TA貢獻1779條經驗 獲得超6個贊

       List<String> result = new ArrayList<>();


        for(int i=0; i<=5; ++i) {

            StringBuilder sb = new StringBuilder();

            for(int j=i; j>=0; j--) {

                sb.append((int)Math.pow(2, j));

            }

            result.add(sb.toString());

        }


        // You need to find out the longgest string for the padding left calculation

        int length = result.get(result.size() - 1).length();


        result.forEach((str -> System.out.println(padLeft(str, length))));

為填充添加直到方法:


public String padLeft(String inputString, int length) {

        if (inputString.length() >= length) {

            return inputString;

        }

        StringBuilder sb = new StringBuilder();

        while (sb.length() < length - inputString.length()) {

            sb.append(' ');

        }

        sb.append(inputString);


        return sb.toString();

    }


查看完整回答
反對 回復 2024-01-28
  • 2 回答
  • 0 關注
  • 152 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號