【发布时间】:2014-07-04 01:32:01
【问题描述】:
您好,我正在尝试打印一个中心对齐的二维数组,但如果我正确,数字指向内存单元。我将如何让他们打印实际数字,我尝试创建一个显示方法,但没有奏效。到目前为止,这是我的代码。在弄清楚这一点后,我还将找到最小值、最大值和平均值。
import java.util.Scanner;
public class Print2DArray {
public static void main(String[] args) {
Scanner print2d = new Scanner(System.in);
System.out.println("Please enter the number of rows: ");
int rows = print2d.nextInt();
System.out.println("Please enter the number of columns: ");
int columns = print2d.nextInt();
int array[][] = new int[rows][columns];
System.out.println("\nVictor - 002017044\n");
for (int x = 0; x < array.length; x++) {
for (int y = 0; y < array[x].length; y++) {
int value = (int) (Math.random() * 10000);
value = (int) (Math.round((value * 100)) / 100.0);
array[x][y] = value;
}
}
for (int x = 0; x < array.length; x++) {
for (int y = 0; y < array[x].length; y++) {
printArray(array);
}
System.out.println();
}
int max = 0;
int avg = 0;
int min = 0;
System.out.println("\nMaximum: " + max + "\nAverage: " + avg
+ "\nMinimum: " + min);
}
private static void printArray(int [][] array){
int width = 6;
int leftSP = (width - array.length)/2;
int rightSP = width - array.length - leftSP;
for (int i = 0; i < leftSP; i++) {
System.out.print(" ");
}
System.out.print(array);
for (int i =0; i < rightSP; i++) {
System.out.print(" ");
}
}
}
【问题讨论】:
-
center aligned是什么意思?您正在创建一个由数字组成的 矩形。使用小数组发布预期结果。 -
我的意思是像这样tinypic.com/r/2a7bp1k/8
-
好的。为此,您只需要使用formatting。
-
什么是居中对齐?另外,如果您只想打印数组,为什么要使用单独的 printArray 函数?而不是函数调用,你可以只打印值吗?即替换 printArray(array);与 System.out.print(array[x][y]);
标签: java arrays methods printing