黑马程序员技术交流社区

标题: 问一下大家,我这个哪里出问题了? [打印本页]

作者: 芸芸众生    时间: 2016-3-7 10:18
标题: 问一下大家,我这个哪里出问题了?
问题是输出结果中3*4=12,和4*4=16,和别的行没有对齐,是怎么回事了?我记得老师上课讲过的,但是想不起来了。大家帮忙看下哪里的问题,谢谢!
/*
需求:在控制台打印九九乘法表(倒序版)。
*/

class JiuJiu_1
{
        public static void main(String[] args)
        {
                for (int i=9;i>=1 ;i-- )                        //外层循环,行
                {
                        for (int j=1;j<=i ;j++ )                //内层循环管,列
                        {
                                System.out.print(j+"*"+i+"="+(j*i)+" ");        //输出一个乘式
                        }
                                System.out.println();                //输出一个换行
                }
        }
}


QQ截图20160307101645.png (17.27 KB, 下载次数: 12)

QQ截图20160307101645.png

作者: sunnysun    时间: 2016-3-7 11:57
打印时是横行输出,每个计算式之间用一个空格分隔,3*4=12,和4*4=16前面的2*4=8结果是一位数只占一个字节,而相应上面每行的结果都是两位数,占两个字节,所以从这行开始,会向前缩进一个字节。
作者: 天赐潇潇    时间: 2016-3-7 12:22
打印的时候使用制表符缩进就可以了,转义字符加t,“\t”

System.out.print(j+"*"+i+"="+(j*i)+"\t");  
作者: xanx14710    时间: 2016-3-7 13:48
class JiuJiu_1
{
        public static void main(String[] args)
        {
                for (int i=1;i<=9 ;i++ )                        //外层循环,行
                {
                        for (int j=1;j<=i ;j++ )                //内层循环管,列
                        {
                                System.out.print(j+"*"+i+"="+(j*i)+"\t");        //输出一个乘式
                        }
                                System.out.println();                //输出一个换行
                }
        }
}

这么写就行了,把外循环改一下





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2