将零添加到单个数字,是否可能? [英] Adding zero to a single digit number, Is it possible?

查看:112
本文介绍了将零添加到单个数字,是否可能?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

public class MultiplicationTable {
public static void main (String[]a){

    int[] x;
    x = new int[10];
    int i;
    int n=0;

    for (i=0;i<x.length;i++){
        n++;
        x[i]=n;
        System.out.print(x[i] + " ");
    }

    System.out.println();
    for (i=0;i<x.length;i++)            
        System.out.print(x[0] * x[i] + " ");

    System.out.println();
    for (i=0;i<x.length;i++)            
        System.out.print(x[1] * x[i] + " ");

    System.out.println();
    for (i=0;i<x.length;i++)            
        System.out.print(x[2] * x[i] + " ");

    System.out.println();
    for (i=0;i<x.length;i++)            
        System.out.print(x[3] * x[i] + " ");

    System.out.println();
    for (i=0;i<x.length;i++)            
        System.out.print(x[4] * x[i] + " ");

    System.out.println();
    for (i=0;i<x.length;i++)            
        System.out.print(x[5] * x[i] + " ");

    System.out.println();
    for (i=0;i<x.length;i++)            
        System.out.print(x[6] * x[i] + " ");

    System.out.println();
    for (i=0;i<x.length;i++)            
        System.out.print(x[7] * x[i] + " ");

    System.out.println();
    for (i=0;i<x.length;i++)            
        System.out.print(x[8] * x[i] + " ");

    System.out.println();
    for (i=0;i<x.length;i++)            
        System.out.print(x[9] * x[i] + " ");


}
}

这是一个将显示如下乘法表的程序:

This is a program that will display a Multiplication Table like this:

1 2 3 4 5 6 7 8 9 10

1 2 3 4 5 6 7 8 9 10

1 2 3 4 5 6 7 8 9 10

1 2 3 4 5 6 7 8 9 10

2 4 6 8 10 12 14 16 18 20

2 4 6 8 10 12 14 16 18 20

3 6 9 12 15 18 21 24 27 30

3 6 9 12 15 18 21 24 27 30

4 8 12 16 20 24 28 32 36 40

4 8 12 16 20 24 28 32 36 40

5 10 15 20 25 30 35 40 45 50

5 10 15 20 25 30 35 40 45 50

6 12 18 24 30 36 42 48 54 60

6 12 18 24 30 36 42 48 54 60

7 14 21 28 35 42 49 56 63 70

7 14 21 28 35 42 49 56 63 70

8 16 24 32 40 48 56 64 72 80

8 16 24 32 40 48 56 64 72 80

9 18 27 36 45 54 63 72 81 90

9 18 27 36 45 54 63 72 81 90

10 20 30 40 50 60 70 80 90 100

10 20 30 40 50 60 70 80 90 100

================================================== =============

===============================================================

它正在运行且正确,但我希望它看起来像这样:

It is running and correct but I want it to look like this one:

01 02 03 04 05 06 07 08 09 10

01 02 03 04 05 06 07 08 09 10

01 02 03 04 05 06 07 08 09 10

01 02 03 04 05 06 07 08 09 10

02 04 06 08 10 12 14 16 18 20

02 04 06 08 10 12 14 16 18 20

03 06 09 12 15 18 21 24 27 30

03 06 09 12 15 18 21 24 27 30

04 08 12 16 20 24 28 32 36 40

04 08 12 16 20 24 28 32 36 40

05 10 15 20 25 30 35 40 45 50

05 10 15 20 25 30 35 40 45 50

06 12 18 24 30 36 42 48 54 60

06 12 18 24 30 36 42 48 54 60

07 14 21 28 35 42 49 56 63 70

07 14 21 28 35 42 49 56 63 70

08 16 24 32 40 48 56 64 72 80

08 16 24 32 40 48 56 64 72 80

09 18 27 36 45 54 63 72 81 90

09 18 27 36 45 54 63 72 81 90

10 20 30 40 50 60 70 80 90 100

10 20 30 40 50 60 70 80 90 100

============== =================================

===============================================

有吗无论如何?

推荐答案

是的,你可以!您可以使用 String.format 为输出添加零填充。

Yes you can! You can use String.format to add zero padding to your output.

示例:

String.format(%05d,2)将产生 00002

对当前代码的一些改进:

Some improvement on the current code:

我不确定你为什么打算将数字存储在里面一个数组(可能用于练习目的),但这并不是必要的,因为无论如何它都是从1到10。虽然如果你想这样做,你不需要 i n

I'm not sure why you intend to store the numbers inside an array (for practice purpose maybe), but that is not necessary as it goes from 1 to 10 anyway. Though if you want to do that, you don't need both i and n.

for (i=0; i<x.length; i++){
    x[i] = i+1;
    System.out.print(x[i] + " ");
}

其次,我确定你意识到你有很多重复的代码,这是相当顺序的。你可以使用2个嵌套for循环,而不是10个单循环:

Secondly, I'm sure you realize that you have a lot of duplicate code, and it's quite sequential. You can do that using 2 nested for loops, instead of having 10 single loops:

for (int row = 1; row <= 10; row++) {
    for (int col = 1; col <= 10; col++)
        System.out.print(String.format("%03d", row * col));
    System.out.println();
}

这篇关于将零添加到单个数字,是否可能?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆