JAVA打印倒三角的问题
for(inti2=0;i2<5;i2++){for(inth=0;h<=i2;h++){System.out.print("");}for(intx2=5;x2>i2;...
for(int i2=0;i2<5;i2++)
{
for(int h=0;h<=i2;h++)
{
System.out.print(" ");
}
for(int x2=5;x2>i2;x2--)
{
if(((i2==0) && (x2>=1 && x2<=3)) || ((i2==1) && (x2>=1 && x2<=2)) || (i2==2 && x2==1))
System.out.print(" ");
else
System.out.print(" *");
}
System.out.println();
}
}
上面的代码是打印一个倒三角。代码中的if语句是想把三角中间的星号去掉,形成一个三角的框。可是,不知道哪里有问题,三角框打印不出来,请高手朋友帮帮忙。 展开
{
for(int h=0;h<=i2;h++)
{
System.out.print(" ");
}
for(int x2=5;x2>i2;x2--)
{
if(((i2==0) && (x2>=1 && x2<=3)) || ((i2==1) && (x2>=1 && x2<=2)) || (i2==2 && x2==1))
System.out.print(" ");
else
System.out.print(" *");
}
System.out.println();
}
}
上面的代码是打印一个倒三角。代码中的if语句是想把三角中间的星号去掉,形成一个三角的框。可是,不知道哪里有问题,三角框打印不出来,请高手朋友帮帮忙。 展开
展开全部
照你的思路改的。搞清楚什么时候打印“ *”和“ ”与变量的关系。
for(int i2=0;i2<5;i2++)
{
for(int h=0;h<=i2;h++)
{
System.out.print(" ");
}
for(int x2=5;x2>i2;x2--)
{
if((i2==0)||(x2==5)||(x2==i2+1))
System.out.print(" *");
else
System.out.print(" ");
}
System.out.println();
}
for(int i2=0;i2<5;i2++)
{
for(int h=0;h<=i2;h++)
{
System.out.print(" ");
}
for(int x2=5;x2>i2;x2--)
{
if((i2==0)||(x2==5)||(x2==i2+1))
System.out.print(" *");
else
System.out.print(" ");
}
System.out.println();
}
展开全部
你要的功能
public void write(int sum) {
sum++;//才能得到你传进来多少个就排多少个
for (int i=sum; i>0; i--) {
for (int j=0; j<i; j++) {
/*
* i<m表示大于第一层就要往右移一个空格;j>0表示大于第一个星;(j+1) == i表示到了最后一个星
*/
System.out.print(((j+1) == i)?"\n":((j > 0)?((i < sum)?((j+2) == i?" *":" "):" *"):((i < sum)?" *":"*")));
}
for (int m=sum-i; m>0; m--) {
System.out.print(" ");
}
}
}
public void write(int sum) {
sum++;//才能得到你传进来多少个就排多少个
for (int i=sum; i>0; i--) {
for (int j=0; j<i; j++) {
/*
* i<m表示大于第一层就要往右移一个空格;j>0表示大于第一个星;(j+1) == i表示到了最后一个星
*/
System.out.print(((j+1) == i)?"\n":((j > 0)?((i < sum)?((j+2) == i?" *":" "):" *"):((i < sum)?" *":"*")));
}
for (int m=sum-i; m>0; m--) {
System.out.print(" ");
}
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
for(int i2=0;i2<5;i2++)
{
for(int h=0;h<=i2;h++)
{
System.out.print(" ");
}
for(int x2=10-i2;x2>5;x2--)
{
if(((i2==0) && (x2>=1 && x2<=3)) ||
((i2==1) && (x2>=6+i2 && x2<=9-i2)) ||
(i2==2 && (x2>=5+i2 && x2<=9-i2))
)
System.out.print(" ");
else
System.out.print(" *");
}
System.out.println();
}
* * * * *
* *
* *
* *
*
{
for(int h=0;h<=i2;h++)
{
System.out.print(" ");
}
for(int x2=10-i2;x2>5;x2--)
{
if(((i2==0) && (x2>=1 && x2<=3)) ||
((i2==1) && (x2>=6+i2 && x2<=9-i2)) ||
(i2==2 && (x2>=5+i2 && x2<=9-i2))
)
System.out.print(" ");
else
System.out.print(" *");
}
System.out.println();
}
* * * * *
* *
* *
* *
*
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
class Asterisk{
public static void main(String[] args){
for (int i=1; i<=13; i+=2){
for(int j=1; j<=i && i+j<= 14; j++){System.out.print("* ");}
System.out.println(); // 换行
}
}
}
public static void main(String[] args){
for (int i=1; i<=13; i+=2){
for(int j=1; j<=i && i+j<= 14; j++){System.out.print("* ");}
System.out.println(); // 换行
}
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
System.out.printf()这是正确
System.out.println()自动换行
System.out.print()这个我孤陋寡闻了
System.out.println()自动换行
System.out.print()这个我孤陋寡闻了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
if条件要这样写:
i2>0 && (5-x2)>0 && x2>i2+1
有比这个更简洁的吗?
i2>0 && (5-x2)>0 && x2>i2+1
有比这个更简洁的吗?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询