求大神看看为什么

来源:4-15 编程练习

慕粉3988924

2016-09-20 20:10

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回答

  • qq_天才zjm_03907660
    2016-09-20 20:40:56
    已采纳

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

    慕粉3988...

    非常感谢!

    2016-10-10 14:19:45

    共 1 条回复 >

  • KeT
    2016-09-25 16:51:58

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

  • 慕少7079374
    2016-09-20 20:56:26

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

    同意

  • 请问你要来点saber吗
    2016-09-20 20:47:03

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

Java入门第一季(IDEA工具)升级版

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

1165172 学习 · 17581 问题

查看课程

相似问题