迭代字符串以验证它是否是二进制数

时间:2013-11-11 20:55:01

标签: java swing

代码编译但输出不正确。

import javax.swing.JOptionPane;

public class binaryValidation
{

    public static void main( String [] args )
    {
        String inputUser = "";
        boolean binaryWord;
        inputUser = JOptionPane.showInputDialog( null,
                                                            "Enter a Binary Word" );

        for ( int i = inputUser.length( ) - 1; i >= 0; i++ )
        {
            if ( inputUser.charAt( i ) == 0 ||  inputUser.charAt( i ) == 1 )



            JOptionPane.showInputDialog( null,
                        "The Binary Word is valid" );


            else            


            JOptionPane.showInputDialog( null,
                        "The Binary Word is not valid" );


        }

1 个答案:

答案 0 :(得分:1)

这是业务逻辑,不要在这里混合Swing代码。将代码解压缩到名为public boolean isBinary(String stringToCheck)的方法。

你做错的一件事是每次迭代showInputDialog,而不是结果一次。

你做错的另一件事是== 0== 1charAt会返回char,而不是数字。 You can see from this table,数字0和1用于NUL和SOH,而不是字符0和1.

您想检查它是否等于== '0'== '1'