对于男女问题,想必大家很熟悉,这时大家都会先去建立属性,构造方法对属性进行赋值等
但是有没有想过是不是所有男女都是相同的,所以我们可以试着去尝试一下区别他们,列如
public class PeopleTest {
public static void main(String[] args) {
//创立对象
People r1 = new People("小明",18,'男');
People r2 = new People("小红",18,'女');
//调用
r1.Output();
r2.Output();
}
}
//一个关于描述男女的问题
import java.util.Random;
public class People {
private String name;
private int age;
private char gender;
private String Face;
//描述男女的外貌
String BoyFaces[] = {"风度翩翩","风度翩翩","明眸皓齿","剑眉星眼","英姿勃发","玉树临风","文质彬彬"};
String GirlFaces[] = {"清癯绝俗","华骨端凝","黛眉樱口","仙露明珠","月里嫦娥","芳卿可人","稚齿婑媠"};
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public char getGender() {
return gender;
}
public void setGender(char gender) {
this.gender = gender;
}
public String getFace() {
return Face;
}
//男女面貌需要进行随机分配
//得到面貌特征需要对男女进行性别分析
//所以用gender代替Face
public void setFace(char gender) {
Random r = new Random();
//若为男
if(gender == '男'){
//选取男性的特征第几个
int t = r.nextInt(BoyFaces.length);
this.Face = BoyFaces[t];
}
//若为女
else if (gender == '女') {
//选取女性的特征第几个
int d = r.nextInt(GirlFaces.length);
this.Face = GirlFaces[d];
}
//不男不女
else
{
this.Face = "啊,未知形态";
}
}
//进行无参构造从上述得到新的属性给main
public People(String name,int age,char gender){
this.name = name;
this.age = age;
this.gender = gender;
//因为用的是gender进行判断
//所以直接调用
setFace(gender);
}
//调用查看结果
public void Output(){
System.out.println("姓名为:" + getName());
System.out.println("年龄为:" + getAge());
System.out.println("性别为:" + getGender());
System.out.println("长相为:" + getFace());
}
}