黑马程序员技术交流社区

标题: 9*9乘法表 怎么对齐。 [打印本页]

作者: 熊鑫    时间: 2013-4-16 10:49
标题: 9*9乘法表 怎么对齐。
            int i, j;
            for (i=1;i<10;i++)
            {
                for (j = 1; j < 10; j++)
                {

                    Console.Write("{0}*{1}={2}", j,i, i * j);
                }
                Console.WriteLine();
            }

            Console.ReadKey();


作者: 刘胜寒    时间: 2013-4-16 11:13
有两个方法:
一: 如果结果为个位数 在前面补个空格
二:用制表符

作者: 刘胜寒    时间: 2013-4-16 11:18
  1. public class Cow
  2. {
  3.         public static void main(String[] args)
  4.         {
  5.                 Scanner cin = new Scanner(System.in);
  6.             int N = cin.nextInt();
  7.             for(int i=1;i<=N;i++)
  8.             {
  9.                     for(int j=1;j<=i;j++)
  10.                     {
  11.                             System.out.print(i+"*"+j+"="+i*j+"\t");
  12.                     }
  13.                     System.out.println();
  14.             }
  15.             for(int i=1;i<=N;i++)
  16.             {
  17.                     for(int j=1;j<=i;j++)
  18.                     {
  19.                             if(i*j>9) System.out.print(i+"*"+j+"="+i*j+"  ");
  20.                             else System.out.print(i+"*"+j+"="+i*j+"   ");
  21.                     }
  22.                     System.out.println();
  23.             }
  24.         }
  25. }
复制代码
随便的写的..不给你解释了
作者: mojian    时间: 2013-4-16 11:31
C:\Users\Administrator\Desktop\1.jpg  加个\t就行了
作者: mojian    时间: 2013-4-16 11:31
~~
Console.Write("{0}*{1}={2}\t", j, i, i * j);
就行了
作者: 陈志盟    时间: 2013-4-16 11:31
建议在Console.Write("{0}*{1}={2}\t", j,i, i * j);加\t,
  1. int i, j;
  2.             for (i = 1; i <10; i++)
  3.             {
  4.                 for (j = 1; j <=i; j++)
  5.                 {

  6.                     Console.Write("{0}*{1}={2}\t", j, i, i * j);
  7.                 }
  8.                 Console.WriteLine();
  9.             }

  10.             Console.ReadKey();
复制代码

作者: 袁振龙    时间: 2013-4-16 11:33
Console.Write("{0}*{1}={2}", j,i, i * j);这句话换成这样写Console.Write("{0}*{1}={2:00}", j,i, i * j);

作者: 李广水    时间: 2013-4-16 11:39
本帖最后由 李广水 于 2013-4-16 11:41 编辑
  1. int i, j;
  2.             for (i = 1; i < 10; i++)
  3.             {
  4.                 for (j = 1; j < 10; j++)
  5.                 {
  6.                     if(j<=i)
  7.                     {//j<=i可以让乘法表梯形显示

  8.                     Console.Write("{0}*{1}={2:00}", j, i, i * j);
  9.                      // {2:00}占位符输出俩位数,不够俩位数高位补零,大于俩位数没有限制;
  10.                     }
  11.                 }
  12.                 Console.WriteLine();
复制代码
还有一种方法:
  1. int i, j;
  2.             for (i = 1; i < 10; i++)
  3.             {
  4.                 for (j = 1; j < 10; j++)
  5.                 {
  6.                     if(j<=i)
  7.                     {//j<=i可以让乘法表梯形显示

  8.                     Console.Write("{0}*{1}={2}\t", j, i, i * j);
  9.                      // \t可以让占位符输出的结果固定长度对齐
  10.                     }
  11.                 }
  12.                 Console.WriteLine();
  13.             }

  14.             Console.ReadKey();
复制代码
希望可以帮到你!!!
作者: 645420297    时间: 2013-4-16 12:06
  1. package com.school.bao1;

  2. class lingxin
  3. {
  4.         public static void main(String[] args)
  5.         {
  6.                 for(int x=0;x<=10;x++)
  7.                 {
  8.                   for(int y=x;y<10;y++)
  9.                         {
  10.                   System.out.print(" ");
  11.                     }
  12.                         for(int z=0;z<x;z++)
  13.                         {
  14.                         System.out.print("* ");
  15.                         }
  16.                         System.out.println();
  17.                 }
  18.                 for(int x=0;x<10;x++)
  19.                 {
  20.                    for(int y=0;y<x;y++)
  21.                         {
  22.              System.out.print(" ");
  23.                     }
  24.                         for(int z=x;z<10;z++)
  25.                         {
  26.                          System.out.print("* ");
  27.                         }
  28.                         System.out.println();
  29.                        
  30.                 }
  31.        

  32.                 //99乘法表
  33.         /*   
  34.        1x1=1
  35.            1x2=2 2x2=4
  36.        1x3=3 2x3=6 3x3=9
  37.        1x4=4 2x4=8 3x4=12 4x4=16
  38.                 */
  39.                 for (int x=1;x<=9 ;x++ )
  40.                 {
  41.                         for (int y=1;y<=x ;y++ )
  42.                         {
  43.                     System.out.print(y+"*"+x+"="+y*x+"\t");
  44.                         }
  45.                         System.out.println();
  46.                 }
  47.         }
  48. }
复制代码
可以加制表符\t 这是我写的 菱形和乘法表 希望对你有帮助。
作者: 迟强    时间: 2013-4-16 12:41
个位数前边加个0 或者用制表符

作者: 熊鑫    时间: 2013-4-16 13:34
刘胜寒 发表于 2013-4-16 11:18
随便的写的..不给你解释了

果断看不懂。
作者: 刘胜寒    时间: 2013-4-16 13:53
熊鑫 发表于 2013-4-16 13:34
果断看不懂。

打印出来...
你就看懂了....
:L
作者: 陈培茹    时间: 2013-4-16 14:37
这样就可以了

  1.     class Program
  2.     {
  3.         static void Main(string[] args)
  4.         {
  5.             for (int i = 1; i < 10; i++)//控制行数
  6.             {
  7.                 for (int j = 1; j < 10; j++)//控制列数
  8.                 {
  9.               Console.Write("{0}*{1}={2:00}  ",i,j,i*j);//{2:00}的作用是是数字对齐,不足两位的左边补零。而且其后有空格目的是使打印出来后各式子之间有间隙
  10.                 }
  11.                 Console.WriteLine ();//换行
  12.             }
  13.             Console.ReadKey();
  14.         }
  15.     }
复制代码

作者: 风雪再现    时间: 2013-4-16 16:37
Console.WriteLine("{0}*{1}={2}\t",j,i,i*j);
这是在你的代码里面的一句,我在里面加了一个"\t”,就是制表符,会让你输出的内容自动对齐
作者: 吴承烨    时间: 2013-4-19 10:44

    class Program

    {

        static void Main(string[] args)

        {

            for (int i = 1; i < 10; i++)//控制行数

            {

                for (int j = 1; j < 10; j++)//控制列数

                {

              Console.Write("{0}*{1}={2:00}  ",i,j,i*j);//{2:00}的作用是是数字对齐,不足两位的左边补零。而且其后有空格目的是使打印出来后各式子之间有间隙

                }

                Console.WriteLine ();//换行

            }

            Console.ReadKey();

        }

    }




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