Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java ArrayList&;数组方法_Java_Arrays_Arraylist - Fatal编程技术网

Java ArrayList&;数组方法

Java ArrayList&;数组方法,java,arrays,arraylist,Java,Arrays,Arraylist,我正在写一个简单的代码来显示关于一个人的各种细节。我使用数组来创建名称 当我尝试运行代码时,name的位置/目录显示为[Ljava.lang.String;@1f32e575 我的代码运行结果如下: Name ii jj [Ljava.lang.String;@1f32e575 // code to remove 我的代码: public static String[] name() { System.out.println("Name");

我正在写一个简单的代码来显示关于一个人的各种细节。我使用数组来创建名称

当我尝试运行代码时,name的位置/目录显示为
[Ljava.lang.String;@1f32e575

我的代码运行结果如下:

Name
ii
jj
[Ljava.lang.String;@1f32e575 // code to remove
我的代码:

    public static String[] name() {

        System.out.println("Name");
        n = new String[]{ "ii", "jj" };
        for (int i = 0; i < n2.length; i++) {
            System.out.println(n[i]);
        }
    }
公共静态字符串[]名称(){
System.out.println(“名称”);
n=新字符串[]{“ii”,“jj”};
对于(int i=0;i
这里是您的固定代码:

import java.util.ArrayList;

class Detail {
    private String name;
    private String nationality;
    private static String[] hobby2;

    public Detail() {

    }

    public String getName() {
        return name = "A";
    }

    public String getNationality() {
        return nationality = "abc";
    }

    public void setInfo(String name, String nationality) {
        this.name = name;
        this.nationality = nationality;
    }

    public static void setHobbies() {

        hobby2 = new String[] { "ii", "jj" };

        System.out.println("Hobbies");

        for (int i = 0; i < hobby2.length; i++) {
            System.out.println("\t" + hobby2[i]);
        }
    }

    public static void setWishes() {

        System.out.println("Wishes");

        ArrayList<String> allWishes = new ArrayList<String>();

        allWishes.add("aa");
        allWishes.add("bb");
        allWishes.add("cc");
        allWishes.add("dd");

        for (String i : allWishes) {
            System.out.println("\t" + i);
        }
    }

    public void displayDetail() {
        DOB d = new DOB();

        System.out.println("Name: " + getName());
        System.out.println("Nationality: " + getNationality());
        System.out.println("Date of birth: " + d.dateString(1, "Jan", 1000));
        setHobbies();
        setWishes();
    }

}

class DOB {

    public String dateString(int day, String month, int year) {
        String dob = (day + " " + month + ", " + year);
        return (dob);

    }
}

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

        MyInfo my = new MyInfo();
        my.displayDetail();

    }

}
import java.util.ArrayList;
课堂细节{
私有字符串名称;
私人国籍;
私有静态字符串[]hobby2;
公开详情(){
}
公共字符串getName(){
返回name=“A”;
}
公共字符串getNational(){
返回国籍=“abc”;
}
public void setInfo(字符串名称、字符串国籍){
this.name=名称;
国籍=国籍;
}
publicstaticvoid()的{
hobby2=新字符串[]{“ii”,“jj”};
系统输出打印(“爱好”);
for(int i=0;i
您不想要的第一个值是对象ID,您无法返回对象的值。如果您想查看值,则必须重写
toString()
方法

第二个值是可见的,因为您返回了列表。如果您在方法中使用了
print()
,则无需返回它


提示:您需要更好地理解getter和setter方法,因为您在代码中搞乱了整个概念。不需要空白构造函数。相反,您应该初始化构造函数中的所有字段(类变量为Detailclass)。

删除displaydeail()中的System.out.println方法如下:

    setHobbies();
    setWishes();

您忘了关闭
hobby2=newstring[]{“ii”,jj};
此外,此代码很难阅读,请将其格式设置得更好,以便调试和删除与您的问题没有直接关系的任何不必要的代码。您问题中的代码将不会生成该输出。您标记为“0”的输出如果在
n
上调用
println
,则会输出“要删除的代码”。但您没有这样做。此外,还必须删除return the type和return语句。