Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/376.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 类返回数组_Java_Arrays_Return - Fatal编程技术网

Java 类返回数组

Java 类返回数组,java,arrays,return,Java,Arrays,Return,我对java非常陌生。我试图创建一个类,返回一些关于一些电影的信息(所有这些信息都存储在数组中)。我被卡住了,不知道该怎么办。这是我的密码 电影类: public class Movie { String[] Director; String[] Name; String[] realeaseDate; String[] lastShow; public Movie() { String[] Director={"George

我对java非常陌生。我试图创建一个类,返回一些关于一些电影的信息(所有这些信息都存储在数组中)。我被卡住了,不知道该怎么办。这是我的密码

电影类:

public class Movie {

    String[] Director;
    String[] Name;
    String[] realeaseDate;
    String[] lastShow;


    public Movie()
    {
        String[] Director={"George Romero","Woody Allen","Steven Speilberg","James Cameron"};
        String[] Name={"Diary of the Dead","Midnight in Paris","War of the Worlds","Terminator 2 - Judgment Day"};
        String[] realeaseDate={"Dec 31 1999","Dec 28 1999","Dec 15 1999","Dec 10 1999"};
        String[] lastShow={"Jan 13 2000","Jan 29 2000","Jan 23 2000","Jan 15 2000"};

    }

    public String getDirector()
    {
        return Director;
    }

    public String getName()
    {
        return Name;
    }

    public String getRealease()
    {
        return realeaseDate;
    }

    public String getLast()
    {
        return lastShow;
    }

}
以下是我的主要观点:

public class Main {

    public static void main(String[] args) {
        // TODO Auto-generated method stub


        String newLine = System.getProperty("line.separator");
        Movie movies = new Movie();

        System.out.println("Avaliable movies"+newLine);

        System.out.println("Director: "+ movies.getDirector()+newLine+"Name :"+ movies.getName()+ newLine + "Realease Date: "+ movies.getRealease()+newLine+"Last Show :"+ movies.getLast()+newLine);

    }

}
我希望结果是这样的:

所有可用的电影

乔治。。。 日记。。。 12月。。 一月

史蒂文。。 sdafsda。。。 12月。。。 一月

。 .
.

由于您是java新手,我还建议您将movie类视为单个对象(而不是电影数组),然后将值存储在电影对象列表中。这样,每个电影对象只包含关于单个电影的信息。这将是更面向对象的方法

public class Movie {

    String Director;
    String Name;
    String releaseDate;
    String lastShow;


    public Movie(String director, String name, String release, String lastShow)
    {
        this.Director = director;
        this.Name = name;
        this.releaseDate = release;
        this.lastShow = lastShow;
    }

    public String getDirector()
    {
        return Director;
    }

    public String getName()
    {
        return Name;
    }

    public String getRelease()
    {
        return releaseDate;
    }

    public String getLast()
    {
        return lastShow;
    }

}
然后您的主文件可能如下所示:

public class Main {

    public static void main(String[] args) {
        // TODO Auto-generated method stub


        String newLine = System.getProperty("line.separator");
        Movie firstMovie= new Movie("George Romero","Diary of the Dead", "Dec 31 1999","Jan 13 2000" );
        Movie secondMovie = new Movie("test", "name", "date", "date");
        ArrayList<Movie> movies = new ArrayList<Movie>();
        //add movies to list

        System.out.println("Avaliable movies"+newLine);

        //loop through each movie in movies

        //print information about each movie

    }

}
公共类主{
公共静态void main(字符串[]args){
//TODO自动生成的方法存根
字符串newLine=System.getProperty(“line.separator”);
电影第一部=新电影(“乔治·罗梅罗”、“死亡日记”、“1999年12月31日”、“2000年1月13日”);
Movie secondMovie=新电影(“测试”、“名称”、“日期”、“日期”);
ArrayList电影=新建ArrayList();
//将电影添加到列表中
System.out.println(“可用电影”+newLine);
//循环浏览电影中的每一部电影
//打印有关每部电影的信息
}
}

我将把实现的其余部分留给您进行练习,但这应该为您指明正确的方向。

由于您是java新手,我还建议您将movie类视为单个对象(而不是电影数组),然后将值存储在电影对象列表中。这样,每个电影对象只包含关于单个电影的信息。这将是更面向对象的方法

public class Movie {

    String Director;
    String Name;
    String releaseDate;
    String lastShow;


    public Movie(String director, String name, String release, String lastShow)
    {
        this.Director = director;
        this.Name = name;
        this.releaseDate = release;
        this.lastShow = lastShow;
    }

    public String getDirector()
    {
        return Director;
    }

    public String getName()
    {
        return Name;
    }

    public String getRelease()
    {
        return releaseDate;
    }

    public String getLast()
    {
        return lastShow;
    }

}
然后您的主文件可能如下所示:

public class Main {

    public static void main(String[] args) {
        // TODO Auto-generated method stub


        String newLine = System.getProperty("line.separator");
        Movie firstMovie= new Movie("George Romero","Diary of the Dead", "Dec 31 1999","Jan 13 2000" );
        Movie secondMovie = new Movie("test", "name", "date", "date");
        ArrayList<Movie> movies = new ArrayList<Movie>();
        //add movies to list

        System.out.println("Avaliable movies"+newLine);

        //loop through each movie in movies

        //print information about each movie

    }

}
公共类主{
公共静态void main(字符串[]args){
//TODO自动生成的方法存根
字符串newLine=System.getProperty(“line.separator”);
电影第一部=新电影(“乔治·罗梅罗”、“死亡日记”、“1999年12月31日”、“2000年1月13日”);
Movie secondMovie=新电影(“测试”、“名称”、“日期”、“日期”);
ArrayList电影=新建ArrayList();
//将电影添加到列表中
System.out.println(“可用电影”+newLine);
//循环浏览电影中的每一部电影
//打印有关每部电影的信息
}
}

我将把实现的其余部分留给您进行练习,但这将为您指明正确的方向。

您在构造函数中隐藏了字段。还要检查您的退货类型。另外,请检查如何打印数组的内容。此外,还要研究封装。换句话说,将
String[]Director={“George Romero”,“Woody…”
更改为
Director={“George Romero”,“Woody…”
同样值得注意的是,您已经定义了
String[]Director
,但是您的方法
getDirector()
返回一个
字符串
。我认为您真正想要的是一个电影数组…而不是一个包含一系列不同电影数组的电影。您在构造函数中隐藏字段。还要检查返回类型。还要检查如何打印数组的内容。另外,还要检查封装。换句话说,更改
String[]Director={“George Romero”,“Woody…”
Director={“George Romero”,“Woody…”
同样值得注意的是,您已经定义了
字符串[]Director
但是您的方法
getDirector()
返回一个
字符串
。我想你真正想要的是一个电影数组…而不是一个包含一系列不同电影数组的电影。这是目前为止唯一正确的答案。显然,OP对此感到困惑OOP@Cruncher我同意,删除答案。@kevin94,你应该接受这个答案。(永远不会太晚。)这是目前为止唯一正确的答案。很明显,OP对此感到困惑OOP@Cruncher我同意,删除答案。@kevin94,你应该接受这个答案。(永远不会太晚。)