问答详情
源自:4-15 编程练习

求大神看看为什么

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位的数!”


提问者:慕粉3988924 2016-09-20 20:10

个回答

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

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

  • 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没有正常运行,我以室友的头发担保