用equals比较字符串如果字符串是数字或者英文单词的话,就能够成功,但是我一换成中文就不成功了
可能是终端编码格式的问题
你先打印一下看
public class Equal {
public static void main(String[] args){
Scanner input = new Scanner(System.in);
String name = input.next();
String question = new String(name.getBytes(StandardCharsets.ISO_8859_1), StandardCharsets.UTF_8);
String answer = new String("数学".getBytes(StandardCharsets.ISO_8859_1), StandardCharsets.UTF_8);
if(question.equals(answer)){
System.out.println(true);
}else{
System.out.println(false);
}
}
}
使用Scanner.nextLine()试试
编码或者/n的问题,按这两个思路排查吧,最好是把输入打印出来进行确认
很明显,编码问题,你把name打印出来就知道了