2016-12-01 32 views
-5

我是新來的Java和編程,我有一個問題。我的代碼編譯,但給我錯誤:無法找到或加載主類PatienTest。你能否向我解釋我的錯誤在哪裏以及我做錯了什麼。這裏是我的代碼:Java獲取和設置使用

class Patient { 

    private String name; 
    private int age; 
    public String newName; 

    public String getName() { 
     return name; 
    } 

    public void setName() { 
     name = newName; 
    } 

    public int getAge() { 
     return age; 
    } 

    public void setAge(int newAge) { 
     age = newAge; 
    } 
} 

class PatientTest { 

    private Patient pat; 

    public boolean isChild() { 
     return (pat.getAge() < 15); 
    } 

    public void main(String[] args) { 
     System.out.println(isChild); 
    } 
} 


class PatientTest { 

    private Patient pat; 

    public boolean isChild() { 
     return (pat.getAge() < 15); 
    } 
    public void main(String[] args) { 
     System.out.println(isChild); 
    } 
} 
+0

你有在同一個文件中的兩個班? – DamCx

+0

你錯過了主要方法的靜態 – Rajashekhar

+1

當我使它靜態顯示此錯誤: 非靜態變量isChild不能從靜態上下文中引用 \t System.out.println(isChild); \t^ 1錯誤 [以0.8s完成,退出代碼1] – Spongi

回答

2

爲了編寫正確的Java代碼,當你想運行一個main方法,你必須做如下:

在Patient.java文件:

public class Patient { 
    private String name ; 
    private int age ; 
    public String newName; 

    public String getName() { 
     return name; 
    } 
    public void setName(){ 
     name = newName; 
    } 
    public int getAge(){ 
     return age; 
    } 
    public void setAge(int newAge){ 
     age = newAge; 
    } 
} 

在PatientTest.java文件:

public class PatientTest { 

    public static boolean isChild(Patient patientToBeTested) { 
     return (patientToBeTested.getAge() < 15); 
    } 

    public static void main(String[] args) { 
     Patient patient = new Patient() 
     patient.setAge(12) // add your age 
     System.out.println(this.isChild(patient)); 
    } 
} 
+1

_write正確的java代碼_我不完全同意,你可以有內部類。但是,在這種情況下,主要方法不能在內部類中。 – AxelH

+0

這不會運行,除非你把'static'放在你的主要方法上。 – msagala25

+0

事實上,當你有一個主要的方法時,正確的java代碼。我將編輯我的答案 – DamCx