我想了解更多有关数组的信息。我想出了创建以这种方式显示的乘法表的问题
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}
第一个数组将用作水平集,第二个数组用作垂直数组。 问题是我不知道我将如何将每个索引相乘并将它们显示为乘法表。
答案 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");
}