小编典典

打印阵列错误

java

这可能是一个简单的修复程序,但我只是没有看到它。我想弄清楚,如何printOut()从主体正确打印我的方法Project5PartA?我需要获取,设置和返回方法吗?另外,在Tester课堂上我的while循环是否甚至必要?

该程序会编译并一直运行到无穷大,因此我猜while循环是错误的。但是它也仅[Ljava.lang.String;@7c1c8c58在每行上连续打印。

扩展main的类是不相关的,并且是项目的一部分。抱歉,如果张贴错误,谢谢您的帮助。

整个程序的输出类似于:

树皮,树皮。

喵喵。

Roooaaar。

狗说,。

猫说喵,喵。

测试人员类别:

public class Tester {

String[] animalArray = {"Dog", "Cat", "tRex", "Cow", "Pig", "Snake",
    "Goat", "Owl", "Chicken", "Frog"};

String[] noiseArray = {"Woof, woof", "Meow, meow", "Roooaaar", "Mooo",
    "Oink, oink", "Hissss", "Baaa", "Hoot, hoot", "Bock, bock",
    "Ribbit, ribbit"};

String[] printArray = new String[10];

public String printOut() {
    while (true) {
        for (int i = 0; i < 10; i++) {

            String value = (animalArray[i] + " says " + noiseArray[i] + ".");
            printArray[i] = value;

            System.out.println();
            System.out.println(printArray);
            break;

        }
    }
}
}

阅读 184

收藏
2020-11-30

共1个答案

小编典典

使用Arrays.toString()打印数组的内容。实际上不打印数组本身。

System.out.println(printArray); // Prints [Ljava.lang.String;@7c1c8c58 
System.out.println(Arrays.toString(printArray0); // Prints [Dog says Woof, woof...]

如果您确实使用Arrays.toString(),请在循环外部打印数组。您也可以只System.out.println(printArray[i])在循环内部打印数组的每个部分。

public String printOut() {
    while (true) {
        for (int i = 0; i < 10; i++) {

            String value = (animalArray[i] + " says " + noiseArray[i] + ".");
            printArray[i] = value;
            System.out.println();
            System.out.println(printArray[i]); // This works
            break;
        }
    }
    System.out.println(Arrays.toString(printArray); // Also works
}
2020-11-30