首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Java -在中断while循环时遇到问题

Java -在中断while循环时遇到问题
EN

Stack Overflow用户
提问于 2018-10-19 06:00:57
回答 1查看 55关注 0票数 0

我正在尝试编写一个java程序,用户可以在其中输入表示二进制数(0和1)的字符串。程序应验证输入是否为二进制数,如果不是,程序将打印一条消息,指出该数不是有效的二进制数。如果用户输入是可接受的,程序应该计算该单词中有多少个1,并输出该计数。

这就是我到目前为止所做的,但是当我输入一个像"1234“这样的字符串并到达第三个while循环时,它只是不断地重新打印消息”您的数字只能包含1和0。请永远保持一个只包含1和0的二进制值:",即使我输入了像"0010“这样的有效字符串。我已经为此绞尽脑汁了几天,所以任何帮助都是非常感谢的。

public static void main(String[] args) {
    Scanner scan = new Scanner(System.in);
    String input;


    System.out.println("Welcome to the binary scanner!");
    System.out.print("Please enter a string in binary fashion: ");

    while (!scan.hasNextInt()) {
       System.out.println("That's not a binary number...\nPlease enter a binary number");
       String temp = scan.nextLine();
    }

    input = scan.nextLine();
    input = input.trim();


    while (!input.contains("1")){
        System.out.println("Your number does not contain any ones.\nPlease enter a binary number that contains ones.");
        input = scan.nextLine();            
    }



    while (input.contains("2") || input.contains("3") || input.contains("4") || input.contains("5") || input.contains("6") || input.contains("7") || input.contains("8") || input.contains("9")){
        System.out.println ("Your number can only contain ones and zeros.\nPlease ever a binary value containing only ones and zeros: ");
        input = scan.nextLine();
    }


    while (input.contains("1")){ 
        boolean notOne = false;
        int oneCount = 0;

        for (int x = 0; x < input.length(); x++){
            char c = input.charAt(x);
            if (c == '1' || c == '0'){
                if (c == '1'){
                    oneCount++;
                    notOne = true;
                    }
            }
            else {
                notOne = false;
            }


            }System.out.println("The binary string contains " + oneCount + (oneCount == 1 ? " one." : " ones."));
            break;
    }

}

}

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52883209

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档