java打印和返回中的数组

java打印和返回中的数组,java,arrays,Java,Arrays,我是java新手,正在做一些练习来学习。我一直在研究数组,并且能够打印出我的第一个数组。但是第二张没有打印任何内容,只是想知道我哪里出错了,非常感谢 package Justice; import java.util.Arrays; class ArrayDemo { public static void main(String[] args) { int[] anArray; anArray = new int[10]; anArray[0] = 100

我是java新手,正在做一些练习来学习。我一直在研究数组,并且能够打印出我的第一个数组。但是第二张没有打印任何内容,只是想知道我哪里出错了,非常感谢

package Justice;

import java.util.Arrays;

class ArrayDemo {
    public static void main(String[] args) {
    int[] anArray;

    anArray = new int[10];

    anArray[0] = 100;
    anArray[1] = 200;
    anArray[2] = 300;
    anArray[3] = 400;
    anArray[4] = 500;
    anArray[5] = 600;
    anArray[6] = 700;
    anArray[7] = 800;
    anArray[8] = 900;
    anArray[9] = 1000;
    System.out.println (Arrays.toString(anArray));

}  


public static String[] hello(String[] args) {
    String[] myArray;


    myArray = new String[5];
    myArray[0] = "hello";
    myArray[2] = "world";

    System.out.println(Arrays.toString(myArray));
    return (myArray);

}

请尝试
deepToString(Object[])
方法,而不是
toString(args)

您可以尝试方法
deepToString(Object[])
来显示该数组的所有内容

String [] arr = new String[3];
arr[0]="asdf";
arr[1]="asdf";
System.out.println(Arrays.deepToString(arr));
它将打印输出,如下所示

[asdf, asdf, null]
另一种方法是。。。 您还可以在forloop中将长度作为条件来迭代此数组

for(int i=0 i<anArray.length;i++)
System.out.println(anArray[i]);
仅适用于(int i=0 i)

如果从shell运行Java类,则调用

如果你想打电话

hello(String[] args)
您必须在main方法中明确地调用它。您可以在第一个print语句下面添加以下行:

hello(null);

粘贴这个
System.out.println(hello(args));
在System.out.println(Arrays.toString(anArray))之后


将为您提供输出:
[你好,空,世界,空,空]

只需将此添加到您的代码中即可

package Justice;

import java.util.Arrays;

class ArrayDemo {
    public static void main(String[] args) {
    int[] anArray;

    anArray = new int[10];

    anArray[0] = 100;
    anArray[1] = 200;
    anArray[2] = 300;
    anArray[3] = 400;
    anArray[4] = 500;
    anArray[5] = 600;
    anArray[6] = 700;
    anArray[7] = 800;
    anArray[8] = 900;
    anArray[9] = 1000;
    System.out.println (Arrays.toString(anArray));

    // This is the method call
    hello(null);             // You don't need the 'String[] args' in your method because you've not used the arguments


}  


public static String[] hello(String[] args) {
    String[] myArray;


    myArray = new String[5];
    myArray[0] = "hello";
    myArray[2] = "world";

    System.out.println(Arrays.toString(myArray));
    return (myArray);

}

只需将
main()
更改为:

class ArrayDemo { 
public static void main(String[] args) {

int[] anArray;

anArray = new int[10];

anArray[0] = 100;
anArray[1] = 200;
anArray[2] = 300;
anArray[3] = 400;
anArray[4] = 500;
anArray[5] = 600;
anArray[6] = 700;
anArray[7] = 800;
anArray[8] = 900;
anArray[9] = 1000;
System.out.println (Arrays.toString(anArray));

ArrayDemo obj = new ArrayDemo();
obj.hello();
}
并使
hello()
方法如下:

public void hello() {
String[] myArray;


myArray = new String[5];
myArray[0] = "hello";
myArray[2] = "world";

System.out.println(Arrays.toString(myArray));
}

公共静态字符串[]hello(字符串[]args)未被调用。它应该从公共静态void main()调用。

如果您从未调用过
hello
;),它应该如何打印?这是最好的答案,因为它解释了为什么解决方案有效,而不是简单地更正代码。是的,谢谢,我只是想知道空值是用来做什么的,我还能在括号里放些什么。你可以在括号里放一个
String[]
null
类型的对象
null
表示不向方法传递任何对象。在您的情况下,这并不重要,因为您不使用给定的参数。因此,您可以像
publicstaticstring[]hello()
那样定义您的方法,然后您不能向该方法传递任何内容。
publicstaticvoidmain(String[]args)
中的“args”包含启动jvm时使用的参数。这非常有效,谢谢。只是想知道空值是什么,还有什么我可以放在括号里,谢谢again@samujoe-我不太明白你在说什么,你在说什么括号?我的错!那么,您能详细说明一下您的查询吗?在这个方法调用中,,,,hello(null);我想知道空值是用来做什么的,我还可以在括号中放些什么。我还想对大家说声谢谢,这对希望学习的初学者很有帮助:)
public void hello() {
String[] myArray;


myArray = new String[5];
myArray[0] = "hello";
myArray[2] = "world";

System.out.println(Arrays.toString(myArray));
}