用Java编写一个程序,从键盘录入一个字符串,判断该字符串是纯数字字符串,若不是则提示“只能输入数字字符串”;若是则将字符串转换为二进制数。在转换时,将字符串中的每个字符单独转换为一个二进制数,将所有二进制数连接起来进行输出。
时间: 2023-06-09 17:04:40 浏览: 174
基于多分类器的无分割手写数字字符串识别算法
好的,我知道了。下面是Java代码实现:
```
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String str = scanner.nextLine();
if (!str.matches("\\d+")) {
System.out.println("只能输入数字字符串");
return;
}
StringBuilder binary = new StringBuilder();
for (char c : str.toCharArray()) {
// 将字符转换为二进制字符串
String binaryStr = Integer.toBinaryString(c);
// 补齐8位
binaryStr = String.format("%8s", binaryStr).replace(' ', '0');
binary.append(binaryStr);
}
System.out.println(binary.toString());
}
}
```
解释一下代码:
1. 使用 `Scanner` 从键盘读取一行字符串。
2. 使用正则表达式判断这个字符串是否只包含数字,如果不是则提示错误并退出程序。
3. 如果是纯数字字符串,则遍历每个字符,将其转换为二进制数并拼接起来。
4. 输出最终的二进制字符串。
请问还有其他问题吗?
阅读全文