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

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

打印字符串模式的Java程序

打印字符串模式的Java程序

LEATH 2021-10-06 09:45:56
如果輸入字符串是“ADMINISTRATIONS”,則模式應該是這樣的 A DM INI STRA TIONS最后一行應該完全填滿如果輸入字符串是“COMPUTER”,則模式應該是這樣的 COM PUT ER**不完整的最后一行應該用 * 填充我有圖案,但無法打印星星。    int k=0;    String str = "computer";    String[] s=str.split("\\B");    for(int i=0; i<s.length;i++){        for(int j=0; j<i;j++){            if(k<s.length){        System.out.println(s[k]);        k++;            }    }        System.out.println();幫我解決這個問題。
查看完整描述

2 回答

?
梵蒂岡之花

TA貢獻1900條經驗 獲得超5個贊

在沒有提供代碼時編寫 - 早些時候它被標記為C。


以問題陳述中描述的方式打印字符串是簡單的遞歸。這是執行此操作的C等效代碼(因為此問題也已在Java 中標記):


  #include<stdio.h>


  int i=1;


  void fun(char c[])

  {

      int j=0;


      while((j<i)&&(c[j]))

      {

          printf("%c",c[j++]);

      }

      while((c[j]=='\0')&&(j<i))

      {

          printf("*");

          ++j;

      }


      ++i;

      if(c[j])

      {

          printf(" ");

          fun(c+j);

      }

  }


  int main(void)

  {

      char c[]="computer";

      fun(c);

      return 0;

  }

輸出:


 c om put er**

如果要替換\0檢查,則可以使用字符串的長度作為檢查,因為我不知道 Java 中是否存在空終止。


查看完整回答
反對 回復 2021-10-06
?
ITMISS

TA貢獻1871條經驗 獲得超8個贊

Java 版本,因為注釋不適用于代碼:


String str = "computer";

int k = 0;

for (int i=0; k<str.length(); i++) {  // note: condition using k

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

        if (k < str.length()) {

            System.out.print(str.charAt(k++));

        } else {

            System.out.print("*");  // after the end of the array

        }

    }

    System.out.println();

}

未經測試,只是一個想法


注意:沒有必要使用,split因為我們想要字符串的每個字符 - 我們可以使用charAt(或toCharArray)。使用print而不是println不改變行。


查看完整回答
反對 回復 2021-10-06
  • 2 回答
  • 0 關注
  • 224 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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