我编写了一个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));
}
}
答案 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(这正是错误消息的作用)。请注意,如果输入的字符不正确,您可能还想要包含一些代码来阻止程序尝试转换二进制文件。