思路:
编写程序,从键盘录入一个字符串,将字符串转换为二进制数
转换时,将字符串中的每个字符单独转换为一个二进制数
将所有二进制数连接起来进行输出
使用Math类、String类以及Scanner等javaAPI常见用法
1.键盘录入一个字符串,Scanner实现
2.定义一个二维数组,其中4代表每一行长度,
ss.length()根据键盘录入的字符串表示有多少行
3.利用for循环遍历字符串,
遍历后用String的charAt()方法获取每个字符串并转化成int
char与int进行运算,char的值要减去48,因为ACSII码中0的值是48,1是49
4.转化成int后,
再用for循环获取每一个int类型的数进行转化成二进制赋值给数组
其中Math.pow()方法是Math类中求幂的方法。
5.最后用双重for循环遍历二维数组,将结果输出控制台
代码:
package base.base018;
/*
字符转换为二进制
编写程序,从键盘录入一个字符串,将字符串转换为二进制数
转换时,将字符串中的每个字符单独转换为一个二进制数
将所有二进制数连接起来进行输出
使用Math类、String类以及Scanner等javaAPI常见用法
1.键盘录入一个字符串,Scanner实现
2.定义一个二维数组,其中4代表每一行长度,
ss.length()根据键盘录入的字符串表示有多少行
3.利用for循环遍历字符串,
遍历后用String的charAt()方法获取每个字符串并转化成int
char与int进行运算,char的值要减去48,因为ACSII码中0的值是48,1是49
4.转化成int后,
再用for循环获取每一个int类型的数进行转化成二进制赋值给数组
其中Math.pow()方法是Math类中求幂的方法。
5.最后用双重for循环遍历二维数组,将结果输出控制台
*/
import java.util.Scanner;
public class Test18 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入字符串:");
String str = sc.nextLine();
int[][] arr = new int[str.length()][4];
for(int i = 0;i < str.length();i++){
int ch = str.charAt(i)-48;
for(int j = 0;j < 4;j++){
arr[i][j] = (int)(ch/Math.pow(2,3-j)%2);
}
}
System.out.println("二进制结果为:");
for(int i = 0;i < arr.length;i++){
for(int j = 0;j < arr[i].length;j++){
System.out.print(arr[i][j]);
}
}
}
}