初学者 怎么用 tostring 打印二维数组
菜鸟求助: 如何用 tostring 打印二维数组
本人java菜鸟写了一个程序生成随机的二维数组,因为某些原因需要打印所生成的二维数组查看是否符合我的要求
现在我在测试代码(即 ‘public static void main(String[] args) {}’)中只能打印出一串内存地址
请问可以仅通过改写测试代码来打印整个数组么?
谢谢
import java.util.Arrays;
public class random_generating {
/*
* 测试代码
*/
public static void main(String[] args) {
random_generating ra = new random_generating();
System.out.println(Arrays.toString(ra.getRandomArray(10)));
}
/**
* 随机数发生器
* 0 <= Math.random() < 1
*
* @return 1至10之间的随机整数
*/
private int random() {
return (int) (10 * Math.random() + 1);
}
/**
* 将新获得的随机数与已产生的其它随机数相比较,若有重复数据,则丢弃,并重来一遍;
* 否则,将新数存入数组。
*
* @param i 数组的大小
* @return 随机数组
*/
public int[][] getRandomArray(int i) {
int[][] a = new int[i][i];// a 随机数数组
int x = 0;
int y = 0;
while(x < i){
a[x][i-1] = x+1;
y = 0;
while(y < i-1){
int temp = random();
if (y == 0){
a[x][y] = temp;
}else{
for (int n = 0; n < y; n++) { // n 遍历已产生的随机数
if (temp == a[x][n]) {
temp = random();
n = -1;
}
}
a[x][y] = temp;
}
y++;
}
x++;
}
return a;
}
}
------解决方案--------------------
自己编写一个toString的方法或者命名为despcript等,方法内进行双重循环
------解决方案--------------------
JDK提供的自身方法应该比我们自己编写的方法,考虑要周到很多哈
------解决方案--------------------
8错,是个好方法
LZ还要注意类名规范,类名首字母大写。
------解决方案--------------------
以解决 蹭点分
------解决方案--------------------
重写toString方法
本人java菜鸟写了一个程序生成随机的二维数组,因为某些原因需要打印所生成的二维数组查看是否符合我的要求
现在我在测试代码(即 ‘public static void main(String[] args) {}’)中只能打印出一串内存地址
请问可以仅通过改写测试代码来打印整个数组么?
谢谢
import java.util.Arrays;
public class random_generating {
/*
* 测试代码
*/
public static void main(String[] args) {
random_generating ra = new random_generating();
System.out.println(Arrays.toString(ra.getRandomArray(10)));
}
/**
* 随机数发生器
* 0 <= Math.random() < 1
*
* @return 1至10之间的随机整数
*/
private int random() {
return (int) (10 * Math.random() + 1);
}
/**
* 将新获得的随机数与已产生的其它随机数相比较,若有重复数据,则丢弃,并重来一遍;
* 否则,将新数存入数组。
*
* @param i 数组的大小
* @return 随机数组
*/
public int[][] getRandomArray(int i) {
int[][] a = new int[i][i];// a 随机数数组
int x = 0;
int y = 0;
while(x < i){
a[x][i-1] = x+1;
y = 0;
while(y < i-1){
int temp = random();
if (y == 0){
a[x][y] = temp;
}else{
for (int n = 0; n < y; n++) { // n 遍历已产生的随机数
if (temp == a[x][n]) {
temp = random();
n = -1;
}
}
a[x][y] = temp;
}
y++;
}
x++;
}
return a;
}
}
测试
二维数组
------解决方案--------------------
自己编写一个toString的方法或者命名为despcript等,方法内进行双重循环
------解决方案--------------------
JDK提供的自身方法应该比我们自己编写的方法,考虑要周到很多哈
------解决方案--------------------
8错,是个好方法
LZ还要注意类名规范,类名首字母大写。
------解决方案--------------------
以解决 蹭点分
------解决方案--------------------
重写toString方法