この次の関数は、入力が1と0のみであることを確認するために使用できます。だから、
private static boolean hasOnly1sAnd0s(String s) {
for(int i = 0 ; i < s.length() ; i++)
// have character that is not 1 or 0
if(!(s.charAt(i)== '1' || s.charAt(i)== '0'))
return false;
return true;
}
は、ユーザーの入力を受け入れるために、このような何かを持っていると言う
public static void main(String args[]) {
Scanner scanner = new Scanner(System.in);
System.out.print("Enter a binary number: ");
// in contains a potential binary string
String in = scanner.nextLine();
// first check to see if it is a binary string
boolean isBinaryString = hasOnly1sAnd0s(in);
// loop till user wants to keep trying again and enters invalid binary string
while (!isBinaryString) {
System.out.print("Try again? ");
// if 'y' or 'Y', let user input number, else break out of loop
char c = scanner.next(".").charAt(0);
if (!(c == 'y' || c == 'Y'))
break;
// take input
System.out.println("Enter a binary number: ");
in = scanner.next();
// check if input is valid binary string
isBinaryString = hasOnly1sAnd0s(in);
}
// the string `in` contains a valid binary string iff isBinaryString == true
// otherwise, it is the case that user inputted `no` for "Try again"
if (isBinaryString)
System.out.println("Output: " + Integer.parseInt(in , 2));
}
編集:私はこれは少しコードを思わ知っ
import java.util.Scanner;
public class Hello {
public static void main(String[] args) {
......
}
private static boolean hasOnly1sAnd0s(String s) {
......
}
}
を(OPへのファイル構造を説明します) -ヘビー。しかし、私はあなたを助けることができましたか?
ここにコードを投稿してください。オフサイトの画像ではありません。 –