System.out.println("请输入你的性别(男\女)");
char gender = scan.next().charAt(0);
当使用char类型来存储字符时,字符必须被放在单引号(')中,例如 '男' 和 '女'。在您的代码中,您使用的是双引号(")而不是单引号来定义字符,这将导致Java将其视为字符串而不是字符。
因此,您可以尝试将代码更改为以下内容:
System.out.println("请输入你的性别(男/女):");
char gender = scan.next().charAt(0);
注意,将选项男和女用斜杠(/)分隔开来,而不是使用反斜杠(\)。这是因为反斜杠在Java中用于转义字符,例如 \n 用于表示换行符,而斜杠用于分隔选项。
如果您仍然遇到问号的问题,这可能是由于控制台字符集与您正在使用的字符集不兼容导致的。您可以尝试在代码的开头添加以下行,以确保控制台使用UTF-8字符集:
System.setOut(new PrintStream(System.out, true, "UTF-8"));
答案出自java https://www.wodianping.com/
你输入啥了啊???中文的男或女吗?中文占多个字符的,而char只是一个字符,所以会是问号。你想存储中文性别,那要用字符串才行
检查一下你项目的编码是不是UTF-8的