java 嵌套for循环输出下列数字金字塔1 121 12421 1248421 一共八行哪位编程大神给指点指点拜托了,急用。
程序给个注释呗。用嵌套循环我只会输出空格和左半边。右边就不会了,而且输出的左半边的格式还不对。望各位大神指点啊!!万分感谢!!...
程序给个注释呗 。 用嵌套循环我只会输出空格和左半边 。右边就不会了, 而且输出的左半边的格式还不对。望各位大神指点啊!!万分感谢!!
展开
3个回答
展开全部
public static void main(String[] args) {
int line=8;
for(int i=1;i<=line;i++){
for(int j=0;j<line-i;j++){//用来输出制表符的。因为数字有123位的,用空格不整齐
System.out.print("\t");
}
for(int j=1;j<Math.pow(2, i);j*=2){//输出依次增大的Math.pow(2, i)是求2的i次方
System.out.print(j+"\t");
}
for(int j=(int)Math.pow(2, i-2);j>0;j/=2){//输出依次减小的
System.out.print(j+"\t");
}
System.out.println();//换行
}
}
int line=8;
for(int i=1;i<=line;i++){
for(int j=0;j<line-i;j++){//用来输出制表符的。因为数字有123位的,用空格不整齐
System.out.print("\t");
}
for(int j=1;j<Math.pow(2, i);j*=2){//输出依次增大的Math.pow(2, i)是求2的i次方
System.out.print(j+"\t");
}
for(int j=(int)Math.pow(2, i-2);j>0;j/=2){//输出依次减小的
System.out.print(j+"\t");
}
System.out.println();//换行
}
}
更多追问追答
追答
输出结果是对的,是因为你窗口太小给挤下来了。你把\t换成几个空格就好了。或者你在eclipse下面跑。
因为数字位数不一样,所以直接输出空格的时候会对不齐。
我这段程序结果肯定是没错的啦
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询