为了账号安全,请及时绑定邮箱和手机立即绑定

求大神看看为什么

public class HelloWorld{

    public static void main(String[] args){

        int num = 999;

        int count = 0; 

        int i=0;

        for(;i<=10;i++){

            if(num<count){

                break;

                }

            count=10^(i+1);

        }

        System.out.println("它是个"+i+"位的数!");











     }

}

求大神看看这有没有什么问题,为什么我运行出来是“它是个11位的数!”


正在回答

4 回答

^是二进制的亦或运算 10^1=00001010^00000001=00001011=11

0 回复 有任何疑惑可以回复我~
#1

慕粉3988924 提问者

非常感谢!
2016-10-10 回复 有任何疑惑可以回复我~

你的count赋值有问题,这时候,你可以count=10^(i+1)下面输出count的值,看是否符合自己心中所想。如果直接在你的那里改的话,把 count=10^(i+1);换成count=(int) Math.pow(10,i+1);就可得到你心中想要的答案。建议不要操之过急。

0 回复 有任何疑惑可以回复我~

^是二进制的亦或运算 10^1=00001010^00000001=00001011=11

同意

0 回复 有任何疑惑可以回复我~

if没有正常运行,我以室友的头发担保

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Java入门第一季(IDEA工具)升级版
  • 参与学习       1165157    人
  • 解答问题       17581    个

0基础萌新入门第一课,从Java环境搭建、工具使用、基础语法开始

进入课程

求大神看看为什么

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信