2017-05-19 18 views
0

這個問題不會讓太多的感覺讓我解釋一下。 我想例如一類數據類型只能有2個值嗎?或者只有n個值?

package code; 

public class Person { 

String Name; //a person has a name 
SomeKindOfDatattype gender; //A person has a gender 
//i want only 2 possible values of gender that is male or female 
} 

請簡要解釋

+2

您可以將驗證添加到您的構造函數/方法,以確保只接受特定值。另一個想法是使用'enum',它可以讓你定義像'MALE'和'FEMALE'這樣的常量。你可以在這裏找到一個'enum'教程:https://docs.oracle.com/javase/tutorial/java/javaOO/enum.html – Logan

+1

Heraphrodites可能有兩個性別。 –

+1

OMG,** 8 **這樣簡單的問題的答案! – Yahya

回答

0

您可以定義包含值「男」和「女」的枚舉「性別」 (可嵌入類)

public enum Gender{ 
    MALE, FEMALE 
} 

可以通過Gender.MALE

0

使用枚舉此需要。在裏面你可以列出所有的賦值。

0
boolean male; 

只允許爲真或假。

枚舉也允許值null什麼不是一個值。

+0

仇恨者會討厭 –

+1

拇指男人:) – Yahya

0

您可以使用枚舉

public enum Gender{ MALE,FEMALE } 

數據類型將性別

0

如果你有一個類型,只能有一定的價值,使用枚舉:

enum Gender { 
    MALE, 
    FEMALE 
} 

public class Person { 
    String Name; 

    Gender gender; 
} 
0

您可以使用枚舉來做你想做的事。

在這裏,你是一個如何繼續下去的例子。

Person.java

public class Person{ 

    private String name; 
    Gender gender; 

    public Person(String name, Gender gender){ 
    this.name = name; 
    this.gender = gender; 
} 

    public void display(){ 

    System.out.println("I'm " + name + " and I'm " + gender); 
    } 
} 

Gender.java

public enum Gender{ Male, Female} 

下面是測試代碼TestPerson.java

public class TestPerson{ 

    public static void main(String[] args){ 

    String name = "Alan"; 
    Gender gender = Gender.Male; 
    Person p = new Person("Alan", gender); 
    p.display(); 
    } 
} 

的代碼中沒有提到一個包名。我假設所有上面的代碼都在同一個包中。您可以根據需要指定包名稱。

1

枚舉類:

public enum Gender { 
    MALE, FEMALE; 
} 

Person類:

public class Person { 

    private String name; 
    private Gender gender; 

    public Person(String name, Gender gender) { 
     this.name = name; 
     this.gender = gender; 
    } 

    @Override 
    public String toString() { 
     return name + " is " + gender; 
    } 

} 

主要應用:

public class Main { 

    public static void main(String[] args) { 

     Person person = new Person("Charles", Gender.MALE); 
     Person person1 = new Person("Kelly", Gender.FEMALE); 

     System.out.println(person.toString()); 
     System.out.println(person1.toString()); 

    } 
} 

輸出:

Charles is MALE 
Kelly is FEMALE 
相關問題