1.性别限定是时能否用equals()语句?

1.性别限定是时能否用equals()语句?

package com.imooc.model;
 
public class Student {
    // 学生属性:学生姓名、学号、性别、年龄;
    private String studentName;
    private String studentNo;
    private String studentSex;
    private int studentAge;
 
    // 无参构造方法
    public Student() {
 
    }
 
    // 有参构造方法
    public Student(String studentName, String studentNo, String studentSex, int studentAge) {
        this.setStudentName(studentName);
        this.setStudentNo(studentNo);
        this.setStudentSex(studentSex);
        this.setStudentAge(studentAge);
    }
 
    public String getStudentName() {
        return studentName;
    }
 
    public void setStudentName(String studentName) {
        this.studentName = studentName;
    }
 
    public String getStudentNo() {
        return studentNo;
    }
 
    public void setStudentNo(String studentNo) {
        this.studentNo = studentNo;
    }
 
    public String getStudentSex() {
        return studentSex;
    }
 
    // 性别是能是男或者女,不能出现第三种性别;
    public void setStudentSex(String studentSex) {
        if (studentSex.equals("男")) {
            this.studentSex = studentSex;
        }
        if (studentSex.equals("女")) {
            this.studentSex = studentSex;
        } else {
            this.studentSex = "男";
        }
    }
 
    public int getStudentAge() {
        return studentAge;
    }
 
    /**
     * 年龄限制
     * 
     * @param studentAge
     */
    public void setStudentAge(int studentAge) {
        if (studentAge < 10 || studentAge > 100)
            this.studentAge = 18;
        else
            this.studentAge = studentAge;
    }
 
    /**
     * 学生自我介绍的方法
     * 
     * @param subjectName
     * @param subjectLife
     * @return 自我介绍的信息包括姓名、学号‘性别、年龄
     */
    public String introduction() {
        String str = "学生信息如下:" + "\n学生姓名:" + this.getStudentName() + "\n学号:" + this.getStudentNo() + "\n学生性别:"
                + this.getStudentSex() + "\n学生年龄:" + this.getStudentAge();
        return str;
    }
 
}

能不能这样写?这样写为什么报错?一定要用equals()如何修改代码?

 public String getStudentNo() {
        return studentNo;
    }
 
    public void setStudentNo(String studentNo) {
        this.studentNo = studentNo;
    }
 
    public String getStudentSex() {
        return studentSex;
    }
 
    // 性别是能是男或者女,不能出现第三种性别;
    public void setStudentSex(String studentSex) {
        //问题点,错误提示The operator || is undefined for the argument type(s) java.lang.String, java.lang.String
        if (studentSex.equals("男"||"女")) {
            this.studentSex = studentSex;
        }
         
         else {
            this.studentSex = "男";
        }
    }


正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
慕粉0907203 2017-12-08 10:02:32

你下面使用equals()方法时写法是不对的,因为此时equals()方法传入的参数只能是一个字符串值,如果你想判断性别是男或者是女时,应该写成studentSex.equals("男")||studentSex.equals("女")

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师