2016-05-29 22 views
0

有一个compliation错误,指出类名称已经确定我不能找到解决它它显示错误前提是客户已经defined.Please让我知道什么是错以及如何纠正它

方式

进一步的类名称声明只有一次,当事情进展错误

package practo; 
import java.io.*; 
import java.lang.*; 
import java.util.*; 

@SuppressWarnings("unused") 
class Customer  /* compilation error occurs here */ 
{ 
    private int id; 
    private String name; 
    private String email; 
    private String address; 
    void setid(int id) 
    { 
     this.id=id; 
    } 
    int getid() 
    { 
     return id; 
    } 
    void setname(String name) 
    { 
     this.name=name; 
    } 
    String getname() 
    { 
     return name; 
    } 
    void setemail(String email) 
    { 
     this.email=email; 
    } 
    String getemail() 
    { 
     return email; 
    } 
    void setaddress(String address) 
    { 
     this.address=address; 
    } 
    String getaddress() 
    { 
     return address; 
    } 
    class PhoneNumber 
    { 
     private String phoneNumber; 
     private String heldFromDate; 
     private String heldToDate; 
     void setphoneNumber(String phoneNumber) 
     { 
      this.phoneNumber=phoneNumber; 
     } 
     String getphoneNumber() 
     { 
      return phoneNumber; 
     } 

     void setheldToDate(String heldToDate) 
     { 
      this.heldToDate=heldToDate; 
     } 
     String getheldToDate() 
     { 
      return heldToDate; 
     } 

     public String getHeldFromDate() { 
      return heldFromDate; 
     } 
     public void setHeldFromDate(String heldFromDate) { 
      this.heldFromDate = heldFromDate; 
     } 
     class NumberType 
     { 
      private String code; 
      private String description; 
      void setcode(String code) 
      { 
       this.code=code; 
      } 
      void setdescription(String description) 
      { 
       this.description=description; 
      } 
      String getcode() 
      { 
       return code; 
      } 
      String getdescription() 
      { 
       return description; 
      } 
     } 
    } 
} 

class x1 
{ 
    public void main(String args[]) 
    { 
     @SuppressWarnings("resource") 
     Scanner s=new Scanner(System.in); 
     Customer c=new Customer(); 
     Customer.PhoneNumber p=c.new PhoneNumber(); 
     Customer.PhoneNumber.NumberType n=p.new NumberType(); 
     System.out.println("Enter the customer details"); 
     System.out.println("Enter the id :"); 
     int id=s.nextInt(); 
     c.setid(id); 
     System.out.println(c.getid()); 
     System.out.println("Enter the name :"); 
     String name=s.nextLine(); 
     c.setname(name); 
     System.out.println(c.getname()); 
     System.out.println("Enter the email :"); 
     String email=s.nextLine(); 
     c.setemail(email); 
     System.out.println(c.getemail()); 
     System.out.println("Enter the address :"); 
     String address=s.nextLine(); 
     c.setaddress(address); 
     System.out.println(c.getaddress()); 
     System.out.println("Enter the customer contact details"); 
     System.out.println("Enter the phone number :"); 
     String phoneNumber=s.nextLine(); 
     p.setphoneNumber(phoneNumber); 
     System.out.println(p.getphoneNumber()); 
     System.out.println("Enter the held from date (dd/MM/yyyy) :"); 
     String heldFromDate=s.next(); 
     p.setHeldFromDate(heldFromDate); 
     System.out.println(p.getHeldFromDate()); 
     System.out.println("Enter the held to date (dd/MM/yyyy) :"); 
     String heldToDate=s.next(); 
     p.setheldToDate(heldToDate); 
     System.out.println(p.getheldToDate()); 
     System.out.println("Enter number type code :"); 
     String code=s.next(); 
     n.setcode(code); 
     System.out.println(n.getcode()); 
     System.out.println("Enter number type description"); 
     String description=s.next(); 
     n.setdescription(description); 
     System.out.println(n.getdescription()); 
    } 

} 

回答

0

你的班级不给我任何编译错误。您可以尝试将课程公开,即public class Customer和名称为Customer.java的文件名。可能发生包practo已包含名为Customer的类。

0

能否请您核实客户类是不重复找不到的地方?如果它不存在,您可以从项目菜单中选择清洁,它可能会修复这些错误。 有时日食麻烦我们。

0

检查在包practo中是否有另一个类叫做Customer。这会导致名称冲突。

0

很多改进的建议:

  1. 打开每个文件的公共类,并为每个类的文件。你的安排令人困惑。
  2. 了解并遵循Java编码标准。
  3. 使用日期而不是字符串是一种更好的设计,尤其是使用JDK 8和java.time包。
  4. 学习JUnit而不是x1.main。

这些是你的类应该如何看的例子。

Customer.java

package practo; 

/** 
* Created by Michael 
* Creation date 5/29/2016. 
* @link https://stackoverflow.com/questions/37511168/it-show-the-error-that-customer-is-already-defined-please-let-me-know-whats-wron 
*/ 
public class Customer { 

    private int id; 
    private String name; 
    private String email; 
    private String address; 

    public Customer() { 
     this(0, "", "", ""); 
    } 

    public Customer(int id, String name, String email, String address) { 
     this.id = id; 
     this.name = name; 
     this.email = email; 
     this.address = address; 
    } 

    public int getId() { 
     return id; 
    } 

    public void setId(int id) { 
     this.id = id; 
    } 

    public String getName() { 
     return name; 
    } 

    public void setName(String name) { 
     this.name = name; 
    } 

    public String getEmail() { 
     return email; 
    } 

    public void setEmail(String email) { 
     this.email = email; 
    } 

    public String getAddress() { 
     return address; 
    } 

    public void setAddress(String address) { 
     this.address = address; 
    } 
} 

PhoneNumber.java:

package practo; 

/** 
* Created by Michael 
* Creation date 5/29/2016. 
* @link https://stackoverflow.com/questions/37511168/it-show-the-error-that-customer-is-already-defined-please-let-me-know-whats-wron 
*/ 
public class PhoneNumber { 

    private String phoneNumber; 
    private String heldFromDate; // Bad design. This ought to be a Date, not a String 
    private String heldToDate; // Bad design. This ought to be a Date, not a String 

    public PhoneNumber() { 
     this("", "", ""); 
    } 

    public PhoneNumber(String phoneNumber, String heldFromDate, String heldToDate) { 
     this.phoneNumber = phoneNumber; 
     this.heldFromDate = heldFromDate; 
     this.heldToDate = heldToDate; 
    } 

    public String getPhoneNumber() { 
     return phoneNumber; 
    } 

    public void setPhoneNumber(String phoneNumber) { 
     this.phoneNumber = phoneNumber; 
    } 

    public String getHeldFromDate() { 
     return heldFromDate; 
    } 

    public void setHeldFromDate(String heldFromDate) { 
     this.heldFromDate = heldFromDate; 
    } 

    public String getHeldToDate() { 
     return heldToDate; 
    } 

    public void setHeldToDate(String heldToDate) { 
     this.heldToDate = heldToDate; 
    } 
} 
相关问题