如果输入字符串是"ADMINISTRATIONS“,模式应该是这样的一个DM INI STRA
最后一行应该完全填满
如果输入字符串是"COMPUTER“,模式应该是这样的:C OM 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();
帮我解决这个问题。
发布于 2018-09-23 05:38:09
在没有提供代码的情况下编写的-早些时候它被标记在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语言中是否有null终止。
https://stackoverflow.com/questions/52460935
复制相似问题