2015-09-25 59 views
-2

我有三个代码,如下所示,我不知道如何将它们合并到一个代码中,以便我可以运行它并打印出来,如果书“9780345917430”在列表中或不三个代码需要合并为一个代码

import java.util.ArrayList; 

import java.util.List; 

public class Book { 

    private String isbn; 
    private String title; 
    private String author; 

    public Book(String isbn, String title, String author) { 
     this.isbn = isbn; 
     this.title = title; 
     this.author = author; 
    } 

    public String toString() { 
     return author + ": " + title; 
    } 

    public boolean equals(Object x){ 
     if (x instanceof Book){ 
      return isbn.equals(((Book) x).isbn); 
     } else { 
      return false; 
     } 
    } 

} 

,我有一个列表

List<Book> list = new ArrayList<Book>(); 

,我有一个if语句

if (list.contains(new Book("9780345917430", null, null))) { 
    System.out.println("Boken finns"); 
} 

我thinki ng将该列表放在public class Book {下,我想将if语句放在主要方法中,但由于public class Book {,因为和 ,所以我无法完成这个问题。可以在eclipse中运行它? 谢谢

回答

0

Eclipse或任何IDE都可以一次编译整个项目。只需创建单独的文件,然后运行具有public static void main(String[] args) {方法的类。

例子: BookExample.java

public class BookExample { 
    private static List<Book> list = new ArrayList<Book>(); 

    public static void main(String[] args) { 
     if (list.contains(new Book("9780345917430", null, null)) { 
      System.out.println("Boken finns"); 
     } 
    } 
} 

Book.java

import java.util.ArrayList; 

import java.util.List; 

public class Book { 

    private String isbn; 
    private String title; 
    private String author; 

    public Book(String isbn, String title, String author) { 
     this.isbn = isbn; 
     this.title = title; 
     this.author = author; 
    } 

    public String toString() { 
     return author + ": " + title; 
    } 

    public boolean equals(Object x){ 
     if (x instanceof Book){ 
      return isbn.equals(((Book) x).isbn); 
     } else { 
      return false; 
     } 
    } 

} 
+0

喜,看来我必须从'公共类图书中删除'public' {'否则将无法正常工作..thanks – java

0
import java.util.ArrayList; 

import java.util.List; 

public class Book { 

private String isbn; 
private String title; 
private String author; 

public Book(String isbn, String title, String author) { 
    this.isbn = isbn; 
    this.title = title; 
    this.author = author; 
} 

public String toString() { 
    return author + ": " + title; 
} 

public boolean equals(Object x){ 
    if (x instanceof Book){ 
     return isbn.equals(((Book) x).isbn); 
    } else { 
     return false; 
    } 
} 

在同一类

public static void main(String[] args){ 
    List<Book> books = new ArrayList<Book>(); 
    if (list.contains(new Book("9780345917430", null, null))) { 
    System.out.println("Boken finns"); 
    } 
} 
+0

嗨,它看起来,我必须从'公共课程书籍'{否则它将无法工作..感谢 – java

+0

不需要删除,为什么你想要删除'公共'修饰符? – KishoreReddy

+0

如果我有'public class Book {'我认为因为我的文件的名称应该与main方法的名称相同,,,在我的情况下我有两个'public class Book {'和'public class BookEx {'(对于主要方法)...所以类名必须与main方法的名称相同,否则代码会混淆,因为它无法确定哪个'public class Book {'或'public class BookEx {'是main要执行的方法..谢谢 – java

0

多了一个方法,你只需要调用它从主从其他类功能类似下面

 public class classname { 
     List<Book> list = new ArrayList<Book>(); 
     public static void main(String[] args) { 
      if (list.contains(new Book("9780345917430", null, null))) { 
       System.out.println("Boken finns"); 
      } 
     } 
    } 
+0

嗨,看起来我必须从公共班级Book中删除'public' {否则它不会工作.. – java

0

你可以试试这个

import java.util.ArrayList; 

import java.util.List; 

public class Book { 

    private String isbn; 
    private String title; 
    private String author; 

    public static List<Book> list = new ArrayList<Book>(); 

    public Book(String isbn, String title, String author) { 
     this.isbn = isbn; 
     this.title = title; 
     this.author = author; 
    } 

    public String toString() { 
     return author + ": " + title; 
    } 

    public boolean equals(Object x){ 
     if (x instanceof Book){ 
      return isbn.equals(((Book) x).isbn); 
     } else { 
      return false; 
     } 
    } 

    public static void main(String arg[]) 
    { 

    if (list.contains(new Book("9780345917430", null, null))) 
    { 
      System.out.println("Boken finns"); 
    } 
    } 
} 
+0

嗨,它看起来,我必须从'公共课堂书''删除'公共''否则它不会工作..谢谢 – java