Java 格式 12 x 12 乘法表

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/19065228/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-08-12 13:48:52  来源:igfitidea点击:

format 12 by 12 multiplication table

java

提问by Timur

My program outputs the table like this:

我的程序输出这样的表:

1  2  3  4  5  6  7  8  9  10  11  12  
2  4  6  8  10  12  14  16  18  20  22  24  
3  6  9  12  15  18  21  24  27  30  33  36  
4  8  12  16  20  24  28  32  36  40  44  48  
5  10  15  20  25  30  35  40  45  50  55  60  
6  12  18  24  30  36  42  48  54  60  66  72  
7  14  21  28  35  42  49  56  63  70  77  84  
8  16  24  32  40  48  56  64  72  80  88  96  
9  18  27  36  45  54  63  72  81  90  99  108  
10  20  30  40  50  60  70  80  90  100  110  120  
11  22  33  44  55  66  77  88  99  110  121  132  
12  24  36  48  60  72  84  96  108  120  132  144  

I need to make it look a little better. Need your help.

我需要让它看起来好一点。需要你的帮助。

This is my code:

这是我的代码:

int a;
int b;
for (a=1; a<=12; ++a)
{
    for (b=1; b<=12; ++b)
    {
        System.out.print(a*b+"  ");  
    }
    System.out.println();
}    

回答by Masudul

Use String System.out.printf(""). Like:

使用字符串System.out.printf("")。喜欢:

System.out.printf("%4d",a*b);

or

或者

System.out.print(String.format("%4d",a*b));

回答by Suresh Atta

Try to give tab space

尝试给制表符空间

System.out.print(a * b + "\t");

回答by A4L

You should use printfin order to format your output.

您应该使用printf来格式化输出。

System.out.printf("%4d", (a*b));

Check the syntax for the format argument here.

此处检查格式参数的语法。

回答by sunysen

try

尝试

public static void main(String[] args) {
    int a;
    int b;
    int sum;
    for (a = 1; a <= 12; ++a) {
        for (b = 1; b <= 12; ++b) {
            sum = a * b;
            System.out.print(sum);
            if(sum < 10){
                System.out.print("    ");
        }else if(sum >= 100){
            System.out.print("  ");
        }else if(sum >= 10){
            System.out.print("   ");
            }

        }
        System.out.println();
    }
}

or

或者

public static void main(String[] args) {
    int a;
    int b;
    for (a = 1; a <= 12; ++a) {
        for (b = 1; b <= 12; ++b) {
            System.out.printf("%4d", (a*b));
        }
        System.out.println();
    }
}

回答by Muhammad Taha Azam

public class JavaApplication21 {    
    public static void main(String[] args) {
        for(int i=1;i<13;i++) {
            for(int j=1;j<=12;j++) {
                System.out.printf("%d x %d = %d  \n",i,j,(i*j));
                System.out.println();
            }
        }
    }
}

回答by Shiva

Here's the code,

这是代码,

public class MultiplicationTableJava 
{
    public static void main(String[] args) 
    {
        // here we are initializing and setting table size
        final int tableNum = 12;
        // here we are printing row
        System.out.print("   |");
        for(int a = 1; a <= tableNum; a++)
            System.out.print(addSpace(a) + " ");
        System.out.println();
        // here we are printing separator
        System.out.print("---+");
        for(int a = 1; a <= tableNum; a++)
            System.out.print("----");
        System.out.println();
        // now printing main table
        for(int a = 1; a <= tableNum; a++) 
        {
            System.out.print(addSpace(a) + "|");
            for(int b = 1; b <= tableNum; b++) 
            {
                System.out.print(addSpace(a * b) + " ");
            }
            System.out.println();
        }
    }

    public static String addSpace(int y) 
    {
        String str = new String();
        if(y < 10) str = "  " + y;
        else if(y < 100) str = " " + y;
        else str = "" + y;
        return str;
    }
}

For more on multiplication table java program refer thisresource.

有关乘法表 java 程序的更多信息,请参阅资源。

回答by Navneet Pandey

package rest;
public class doubt {
    public static void main (String[] args) {
        for(int i=1;i<=3;i++)
        {   
            for(int j=1;j<=3;j++)
            {
                System.out.printf("%4d",i*j);//+i*j+" ");
            }
            System.out.println("\n");
        }
    }     
 }

回答by Sammy

Use:

用:

System.out.print(a*b+"\t");

System.out.print(a*b+"\t");

which uses a escape sequence that will tab each value appropriately.

它使用一个转义序列来适当地标记每个值。

回答by Seba89Waw

I sugest to use a table like here

我建议使用像这里这样的桌子

response.getWriter().append("<table><body>");
        for (int i = 1; i < width +1 ; i++) {
            response.getWriter().append("<tr>");
            for (int j = 1; j < height +1; j++) {
                response.getWriter().append("<td>").append(String.format("%4d",i*j)).append("</td>");
            }
            response.getWriter().append("</tr>");
        }
        response.getWriter().append("</body></table>");