黑马程序员技术交流社区
标题:
代码问题,请指教
[打印本页]
作者:
吴超
时间:
2012-5-13 15:12
标题:
代码问题,请指教
class DrawTriangle
{
public static void main(String [] args)
{
int num=9;
for (int row=1;row<=num ; row++)
{
int a=1;
for (int right= 1; right<=row ;right++ )
{
System.out.print(" "+"");
}
for (int right=row;right<=num ;right++ )
{
System.out.print(a++);
}
for (int right=row;right<=num-1 ;right++ )
{
a--;
System.out.print(a);
}
System.out.println(" ");
}
}
}
复制代码
作者:
黑马罗坚
时间:
2012-5-13 16:30
public class DengHuiSJX {
}
/*
/*
// 12345678987654321
// 123456787654321
// 1234567654321
// 12345654321
// 123454321
// 1234321
// 12321
// 121
// 1
*/
class DrawTriangle1
{
public static void main(String [] args)
{
int num=9;
for (int row=1;row<=num ; row++)
{
int a=1;
for (int right= 1; right<=row ;right++ )
{
System.out.print(" "+"");
}
for (int right=row;right<=num ;right++ )
{
System.out.print(a++);
}
//上面a打印了加了个1 所以这里要减1
a--;
for (int right=row;right<=num-1 ;right++ )
{
System.out.print(--a);
}
System.out.println(" ");
}
}
}
class DrawTriangle
{
public static void main(String [] args)
{
StringBuilder sb=new StringBuilder("12345678987654321");
System.out.println(sb.toString());
for(int i=0;i<=8;i++){
//前后添加空格是为了让下行比上行多一个空格和这个字符串平衡能求到原来的中间角标
sb.insert(0, " ");
sb.append(" ");
//因为是角标所以中间值不需要加1 这里减1效果也是一样都能达到删除中间角标和
//最靠进它的角标 也就删除字符串里最大的2数
int mid=sb.length()/2;
sb.delete(mid, mid+2);
System.out.println(sb.toString());
}
}
}
复制代码
作者:
邱俊杰
时间:
2012-5-13 16:39
12345678998765432 // 看了你的代码,运行出来的结果是这样的哦。我想楼主的问题应该是少了最后的1吧?
123456788765432
1234567765432
12345665432
123455432
1234432
12332
122
1
for (int right=row;right<=
num-1
;right++ ) // 这里不需要减1 去掉就有这样的效果了
{
a--;
System.out.print(a);
}
123456789987654321
1234567887654321
12345677654321
123456654321
1234554321
12344321
123321
1221
11
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2