数组乘法表

时间:2014-08-31 16:13:42

标签: java arrays multiplication

我想了解更多有关数组的信息。我想出了创建以这种方式显示的乘法表的问题

1  2  3  4  5

2  4  6  8  10

3  6  9  12 15

4  8  12 16 20

5  10 15 20 25

我虽然这样使用数组

int myArray[] = {1,2,3,4,5};
int myArray2[] = {1,2,3,4,5}

第一个数组将用作水平集,第二个数组用作垂直数组。 问题是我不知道我将如何将每个索引相乘并将它们显示为乘法表。

3 个答案:

答案 0 :(得分:2)

与上述几乎相同,但格式化输出。

public static void main(String[] args) {
    int[] h = {1, 2, 3, 4, 5};
    int[] v = {1, 2, 3, 4, 5};
    for (int i = 0; i < h.length; i++) {
        for (int j = 0; j < v.length; j++) {
            System.out.printf("%5d", h[i] * v[j]);
        }
        System.out.println();
    }
}

&#34;%5d&#34;给你一些空间,这样数字就不会混杂在一起。 (在这里,我假设语言是Java,顺便说一句。但你可以轻松地将其转换为其他语言。想法是一样的。=))

答案 1 :(得分:1)

假设您使用的是Java,可以使用类似的东西:

for (int j = 1; j <= 5; j++)
{
    for (int i = 0; i < myArray.length; i++)
         {
             System.out.print(array[i] * j + " ");
             if (i == myArray.length - 1) 
                {
                    System.out.println();
                }
         }
    j++;
}

外部循环将数字从1移动到5。

内循环将使用外循环的'j'值来乘以数组中的每个数字。

然后每当内部循环到达数组末尾时,它就会放置一个空行。

答案 2 :(得分:1)

下面是一些您应该能够达到顶峰的示例,以获得有关数组和二维数组的更多知识

//X HEADING PLUS MATH
    for (int i =0; i < 13; i ++){
        System.out.print(i + "\t");
    }
    System.out.print("\n");

    //MATH PORTION PLUS HEADING
    for (int y =1; y < 13; y++){
        System.out.print(y + "\t");
        for (int x=1; x<13; x++){
            System.out.print((x*y) + "\t");
        }
        System.out.print("\n");
    }


    System.out.print("\n");

    //MATH PORTION
    // 

    for (int y =1; y < 13; y++){
        for (int x=1; x<11; x++){
            System.out.print((x*y) + "\t");
        }
        System.out.print("\n");
    }





    System.out.print("\n");*/

    //************************************//
    //EXAMPLE USING TWO DIMENSIONAL ARRAY //
    //W/OUT HEADERS***********************//
    //************************************//
    //JFrame frame = new JFrame ("HW09");
    //int length = Integer.parseInt(JOptionPane.showInputDialog(frame, "Enter the multiplication table length")) + 1;
    int length = 13;
    int[][] multi = new int[length][length];//created 2 dim array

    //formatting heading
    for (int i = 0; i<length; i++) {
    multi[0][i] = i;
    multi[i][0] = i;
    }
    //fills array with values
    for (int yPos = 1; yPos<length; yPos++){//loops through all y positions
        for ( int xPos =1; xPos < length; xPos++){//loops through x positions of y position
            multi[xPos][yPos] =(xPos)*(yPos);
        }
    }
    //prints out values
    for (int yPos = 0; yPos<length; yPos++){//loops through all y positions
        for ( int xPos =0; xPos < length; xPos++){//loops through horizontal positions of y position
            System.out.print(multi[xPos][yPos] + "\t");
        }
        System.out.print("\n");
    }

    System.out.print("\n");


    //************************************/
    //    EXAMPLE USING TWO ARRAYS        //
    //************************************//

    int[] y = new int[] {1,5,6,9};//array for x
    int[] x = new int[] {2,5,7,8,10};//array for y
    //prints out horizontal header
    System.out.print("x\t");
    for (int i =0; i < x.length; i ++){
        System.out.print(x[i] + "\t");
    }
    System.out.print("\n");
    //prints out y header and then does math
    for (int i =0; i < y.length; i ++){
        System.out.print(y[i] + "\t");
        //loop to do math for what above me
        for (int i2 =0; i2 < x.length; i2++ ){
            System.out.print((y[i] * x[i2]) + "\t");
        }
        System.out.print("\n");

    }