代码编译但输出不正确。
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" );
}
答案 0 :(得分:1)
这是业务逻辑,不要在这里混合Swing代码。将代码解压缩到名为public boolean isBinary(String stringToCheck)
的方法。
你做错的一件事是每次迭代showInputDialog
,而不是结果一次。
你做错的另一件事是== 0
和== 1
。 charAt
会返回char
,而不是数字。 You can see from this table,数字0和1用于NUL和SOH,而不是字符0和1.
您想检查它是否等于== '0'
和== '1'
。