亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

我正在嘗試將 4 行文本居中,我正在尋找一個簡單的解決方案。最終結果如下圖所示

我正在嘗試將 4 行文本居中,我正在尋找一個簡單的解決方案。最終結果如下圖所示

胡說叔叔 2022-01-12 16:00:47
文本居中這就是我希望文本在格式化后的樣子。static void printCentered(String text) {    String[] textArray;    int maxi = -1;    textArray = new String[5];    textArray[0] = "Drei Chinesen mit dem Kontrabass";    textArray[1] = "sassen auf der Strasse und erzaehlten sich was.";    textArray[2] = "Da kam ein Mann: Ja was ist denn das?";    textArray[3] = "Drei Chinesen mit dem Kontrabass.";    for (int i = 0; i <= 4; i++)        if (textArray[i].length() > maxi)            maxi=textArray[i].length();    for(int i=0; i<= 4; i++)        if (maxi-textArray[i].length()!=0)        {            int diff=maxi-textArray[i].length();            System.out.print(" ");            System.out.println(textArray[i]);        }}我試圖通過找出最大的線來做到這一點,然后從左邊插入黑色空格。你能告訴我我做錯了什么嗎?
查看完整描述

1 回答

?
一只斗牛犬

TA貢獻1784條經驗 獲得超2個贊

您的代碼存在一些問題:

  1. 您為 5 個字符串分配了內存,但只放置了 4 個值。出于同樣的原因,它導致NullPointerException.

  2. 我不明白參數text對函數的意義;它沒有在任何地方使用,所以我將其刪除。

  3. 居中文本的正確邏輯是找到最大長度的字符串,然后找到要居中的字符串長度,然后使用以下公式計算要在字符串之前插入的空格數: (maxLen / 2) - (textLen / 2)

代碼如下:

    static void printCentered() {

        String[] textArray = new String[5];

        int maxi = -1;

        textArray[0] = "Drei Chinesen mit dem Kontrabass";

        textArray[1] = "sassen auf der Strasse und erzaehlten sich was.";

        textArray[2] = "Da kam ein Mann: Ja was ist denn das?";

        textArray[3] = "Drei Chinesen mit dem Kontrabass.";

        textArray[4] = "Hello World!";

        for (int i = 0; i <= 4; i++)

            if (textArray[i].length() > maxi)

                 maxi = textArray[i].length();

        final int maxiByTwo = maxi / 2;

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

            final int textLenByTwo = textArray[i].length() / 2;

            final int diff = maxiByTwo - textLenByTwo;

            for (int j = 0; j < diff; j++)

                System.out.print(" ");

            System.out.println(textArray[i]);

        }

    }

這是工作代碼的鏈接:https : //ideone.com/QiNIu1


查看完整回答
反對 回復 2022-01-12
  • 1 回答
  • 0 關注
  • 130 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

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

公眾號

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