用于获取对象的字符串输入

时间:2014-01-24 14:09:08

标签: java

我需要从一个私人对象中检索信息,但我坚持这个..它坚持说有一个 构造函数错误

public class Screen{
private movie movieObject;


private Screen(movie movieObject){
this.movieObject = movieObject;
}

private ArrayList<movie> movie = new ArrayList<movie>
public void add(){
String title = keyboard.readString("Enter movie title > ");
String name = keyboard.readString("Enter theatre name > ");

movie add = new movie(title,name) // there is error in this part

3 个答案:

答案 0 :(得分:3)

也许:第9行......

new ArrayList<movie>(); 

此外,如果您对类使用标准命名约定将有助于我们和您自己。

答案 1 :(得分:1)

你的最后一行对我来说很奇怪。请尝试改为:

movie.add(new movie(title,name));

也许电影列表instanciation应该在构造函数中完成?

答案 2 :(得分:1)

你的信件封面错误

movie add = new movie(..)

您的课程为Movie,资金为M,而不是movie。你应该在整个地方得到错误,而不仅仅是上面的行

此外,您错过了此处的(); new ArrayList<movie>();

此处; movie add = new movie(..)。 &LT; -

但这仍然没有消除字母套管的问题。


看起来你想要更像这样的东西

 ArrayList<Movie> movies = new ArrayList<Movie>();

 public void add(){
     String title = keyboard.readString("Enter movie title > ");
     String name = keyboard.readString("Enter theatre name > ");

     movies.add(new Movie(title, name));
 }

或许你应该做更像这样的事情,你的方法添加一部电影,而不关心从键盘输入

 public void addMovie(Movie movie) {
     movies.add(movie);
 }

然后在main你可以做这样的事情

 public static void main(String[] args){
     Scanner keyboard = new Scanner(System.in);
     Screen screen = new Screen();

     System.out.println("Enter a title");
     String title = keyboard.nextLine();
     System.out.println("Enter a name:);
     String name = keyboard.nextLine();

     screen.addMovie(new Movie(title, name));
 }

最后的例子比你试图做的更有意义。