charat(0)提供了意外的输出

7bsow1i6  于 2021-08-25  发布在  Java
关注(0)|答案(1)|浏览(317)

此问题已在此处找到答案

为什么我不能在java中比较char和int((四个答案)
四天前关门。
为java做一些暑假练习,我正在尝试验证社会保障(针对我的国家)
对于我来说,如果社会保障为“300198”,那么charat(0)就不符合我的要求,此时它会打印“错误1”。

public void authenticateCpr(Member member){
        if (member.getCpr().charAt(0) > 3) {
            System.out.println("Error 1");
        }
        if (member.getCpr().charAt(0) == 3 && member.getCpr().charAt(1) > 9){
            System.out.println("Error 2");
        }
    }

我错过了什么?祝你夏日快乐,并致以亲切的问候

mpgws1up

mpgws1up1#

String.charAt(0) 返回 '3' 哪个ascii码等于 51 . 你应该这样写

public void authenticateCpr(Member member){
        if (member.getCpr().charAt(0) > '3') {
            System.out.println("Error 1");
        }
        if (member.getCpr().charAt(0) == '3' && member.getCpr().charAt(1) > '9'){
            System.out.println("Error 2");
        }
    }

相关问题