這行了行星星
public static void main(String[] args)
{
int n = 6;
int i = 0;
int pad = 7;
while (i < n)
{
String star = new String(new char[1 + i *2]).replace("\0", "*\t");
String space = new String(new char[1 + pad]).replace("\0", "\t");
System.out.printf(space + star + "\n");
++i;
--pad;
}
}
編輯 這種交替他們按你的演示
public static void main(String[] args)
{
final int it = 5;
int pad = it;
int i = 0;
String space;
while (i < it) {
String star = new String(new char[i + 1]).replace("\0", "*\t\t");
space = new String(new char[pad]).replace("\0", "\t");
System.out.printf(space + star + "\n");
++i;
--pad;
}
}
與做了循環
public static void main(String[] args)
{
//final int it = 5;
int size;
size = 5;
for(int i = 1; i < size; ++i)
{
String star = "";
for (int p = size; p > i; --p)
{
star += "\t";
}
for (int j = 0; j < i; ++j)
{
star += "*\t\t";
}
System.out.println(star);
}
}
僅使用2個迴路的另一種解決方案
public static void main(String[] args)
{
//final int it = 5;
int size;
size = 5;
List<String> pad = new ArrayList<String>();
pad.addAll(Arrays.asList("\t","\t","\t","\t","\t"));
for(int i = 1; i < size; ++i)
{
String star = "";
//Pattern p = Pattern.compile("([)|(,)|(])");
star += pad.toString().replaceAll("\\[|\\]|,", "");
for (int j = 0; j < i; ++j)
{
star += "*\t\t";
}
pad.remove(pad.size()-1);
System.out.println(star);
}
}
來源
2016-05-01 12:45:45
PSD
您似乎有一個錯字:'''for(int j = 0; J =!;的J - );'''。那聲明現在什麼都不做。 –
@JornVernee「該聲明現在什麼都不做」,否則該行會插入一個長時間的等待,除非優化器足夠聰明。 – MikeCAT
你忘了...提問。 –