如果" 1"以外的字符,如何显示错误消息和" 0"进入?

时间:2016-10-07 02:17:12

标签: java error-handling binary integer

我编写了一个java程序,它将一串位转换为等效的非负整数,但我不知道如何在" 1"以外的字符中添加错误消息。和" 0"被展示。我想要以下消息"错误 - 字符串应仅由1和0组成。"打印和程序停止。请帮忙!到目前为止,这是我的代码:

import java.util.Scanner;
class BinaryToDecimal {
   public static void main(String args[]) {
    Scanner input = new Scanner( System.in );
    System.out.print("Enter a binary number: ");
    String binaryString =input.nextLine();
    System.out.println ("The  original string you entered:" binaryString);
    System.out.println ("The equivalent integer is: "+Integer.parseInt(binaryString,2));
    }
}

2 个答案:

答案 0 :(得分:1)

进行验证的一种常用方法是使用Regular expressions,在这种情况下,您要查找的模式为neighbors[3*i+2]==N

System已经有显示错误和/或退出程序执行的方法

答案 1 :(得分:0)

您可以在每次nextLine()调用后检查字符是不是1还是0。即:

String binaryString = input.nextLine();
for(char c : binaryString.toCharArray())
{
    if(!((c == '1') && (c == '0'))) System.err.println(ERROR_MESSAGE);
}

如果输入的字符不正确,则打印到标准错误流System.err(这正是错误消息的作用)。请注意,如果输入的字符不正确,您可能还想要包含一些代码来阻止程序尝试转换二进制文件。