永发信息网

帮看一下这个JAVA小程序,cmd里执行,为什么最后输入正确的密码0606还是会提醒"Please enter the Password"

答案:6  悬赏:70  手机版
解决时间 2021-03-30 19:53
帮看一下这个JAVA小程序,cmd里执行,为什么最后输入正确的密码0606还是会提醒"Please enter the Password"
最佳答案
你的程序,密码是390。
正像上面的答案所说,C、Java这样的语言里,0开头的数字是八进制。
if(password!=0606)
0606即八进制的606=6*8*8+0*8+6=390
把if(password!=0606)改成if(password!=606)可以让密码正确,但因为是比较整数,所以下面几种密码也能通过:
606
000000606
00606 qwer
建议改成比较字符串。
全部回答

if(password!=606)
再试试
你把if判断条件里的0606改成606就行了。nextInt方法接收的数据的时候应该自动忽略第一个0吧

哥们,你用的是int类型,int类型里没有0606,你输入0606它就会变成606,所以会进入死循环,换成String就行了import java.util.*;
public class Continue
{
    public static void main(String[] args)
    {
        Scanner inp=new Scanner(System.in);
        while(true)
        {
            System.out.println("Please enter the password: ");
            String password=inp.next();
            if(!"0606".equals(password)){
                continue;
            }
            break;
        }
        System.out.println("Password Correct!");
    }
}
int类型的0606 在java中是八进制整数。
你用8进制整数表示输入的数值就可以了
Scanner inp=new Scanner(System.in);
while(true)
{
System.out.println("Please enter the password: ");
int password = Integer.parseInt(inp.nextLine(), 8);
if(password != 0606)
{
continue;
}
break;
}
System.out.println("Password Correct!");
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
生物科学和生物工程两个专业一样吗?
计算机导论重要吗?
广州哪里有做健康证的地方?听说烈士陵园有个
somebody I can miss.中文翻译是什么意思
公猫和母猫哪个性格更好,更听话
佛家讲28层天,是不是天的层次越高,其所在天的
北邮网络工程及电子信息工程排名,急需
说明循环群与交换群的关系
乘客电梯蹲底事故的勘察基本要点
本田缤智可以导航么
何谓文化经典语句
树莓派 和stm32H7哪个更适合图像处理
谁有潇洒人生赵小刚替x替给我发一份
轴承S688中S什么意思
初二的成绩不好,初三怎样才能跟上呢?
推荐资讯
C三目运算为什么从右往左算 PHP正好相反
深圳结婚钻戒定制大概多少钱
抉择:加密方式哪种好,AES 128位、AES 256位
请教jquery中怎么找到当前input元素的下一个i
有哪家饭店环境不错,菜又好吃
天空在于飞鸟下一句
有没有比较靠谱的放贷款平台?我是要往外放贷
王力宏有首歌叫“我说 ……你说呦”叫什么名
WWE女子组能和香姐一战的目前只有这几个了
PB 怎样将menu添加到window
“捷报”的“捷”在词语中是什么意思?
科鲁兹机油流量单向阀怎么取出来!急急急……
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?