输入字符,无法判断做出正确输出

自学web_ing 2019-06-03 05:42:57
import java.io.IOException;
class Student{
String name;
int age;
private char gender;

public void setGender(char gender){
if(gender=='男'||gender=='女'){
this.gender=gender;
}else{
System.out.print("请输出正确的性别");
}
}
public char getGender(){
return gender;
}
}
public class Package {
public static void main(String args[])throws IOException{
Student stu1=new Student();
System.out.print("请输入性别:");
char sex=(char)System.in.read();
stu1.setGender(sex);
System.out.println(stu1.getGender());
}
}
...全文
35 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
咸哼酒家 2019-06-03
  • 打赏
  • 举报
回复
注意 System.in.read() 只能读出一个字节,中文2个字节,所以输入‘男’‘女’无效
咸哼酒家 2019-06-03
  • 打赏
  • 举报
回复
public class Student {

String name;
int age;
private char gender;

public void setGender(char gender){
if(gender== '1'|| gender == '0'){
this.gender=gender;
}else{
System.out.print("请输出正确的性别 0-男 1-女");
}
}
public char getGender(){
return gender;
}
}}



public static void main(String args[])throws IOException{
Student stu1=new Student();
System.out.println("请输入性别:");
char sex=(char) System.in.read();;
stu1.setGender(sex);
System.out.println(" 输出"+stu1.getGender());
}


楓VS痕 2019-06-03
  • 打赏
  • 举报
回复
从键盘读入数据,最好使用 Scanner类
楓VS痕 2019-06-03
  • 打赏
  • 举报
回复

class Student {
String name;
int age;
private String gender;

public void setGender(String gender) {
if (gender.equals("男") || gender.equals("女")) {
this.gender = gender;
} else {
System.out.print("请输出正确的性别");
}
}

public String getGender() {
return gender;
}
}

public class Package {
public static void main(String args[]) throws IOException {
Student stu1 = new Student();
System.out.print("请输入性别:");
Scanner sc = new Scanner(System.in);
String sex = sc.nextLine();
stu1.setGender(sex);
System.out.println(stu1.getGender());
}
}

50,503

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧