福建省环保厅网站建设项目验收,电子商务旅游网站建设论文,企业为什么要做培训,湖南宁乡建设局网站【案例5-4】 字符串转换为二进制
【案例介绍】
1.任务描述
本例要求编写一个程序#xff0c;从键盘录入一个字符串#xff0c;将字符串转换为二进制数。在转换时#xff0c;将字符串中的每个字符单独转换为一个二进制数#xff0c;将所有二进制数连接起来进行输出。
案…【案例5-4】 字符串转换为二进制
【案例介绍】
1.任务描述
本例要求编写一个程序从键盘录入一个字符串将字符串转换为二进制数。在转换时将字符串中的每个字符单独转换为一个二进制数将所有二进制数连接起来进行输出。
案例在实现时要求使用Math类、String类以及Scanner等常见Java API的常用方法。
2.运行结果
字符串转换为二进制的运行结果如图5-1所示 图5-1 字符串转换为二进制的运行结果图 【案例思路】
1 分析任务描述可知键盘录入要转化的字符串。用Scanner实现。
2定义一个二维数组。其中4代表每一行长度。ss.length()根据键盘录入的字符串表示有多少行。
3利用for循环遍历字符串遍历后用String的charAt()方法获取每个字符并转化成int。char与int进行运算char的数值要减去 48,因为ASCII码中0的值是48,1就是49。
4转化成int后再用for循环获取每一个int类型的数进行转化成二进制赋值给数组。其中Math.pow()方法是Math类中求幂的方法。
5最后用双重for循环遍历二维数组。将结果输出到控制台。
【案例实现】 模拟用户登录的实现代码如文件5-1所示。
文件5-1 example4.java
package com.itheima;import java.util.Scanner;public class example4 { public static void main(String[] args) { //键盘录入要转化的字符串。用Scanner实现。 Scanner sc new Scanner(System.in); System.out.println(请输入要转换的字符串); String ss sc.nextLine(); //定义一个二维数组。其中4代表每一行长度。ss.length()根据键盘录入的字 符串表示有多少行。 int [][] arr new int[ss.length()][4]; //利用for循环遍历字符串遍历后用String的charAt()方法获取每个字符并 转化成int。char与int进行运算char的数值要减去 48,因为ASCII码中0 的值是48,1就是49。 for (int i 0; i ss.length(); i) { int charss (int) ss.charAt(i)-48; for (int j 0; j 4; j) { //转化成int后再用for循环获取每一个int类型的数进行转化成二进 制赋值给数组。其中Math.pow()方法是Math类中求幂的方法。 arr[i][j] (int)((charss/Math.pow(2, 3-j))%2); } } // 最后用双重for循环遍历二维数组。将结果输出到控制台。 System.out.println(二进制的数是); // 最后用双重for循环遍历二维数组。将结果输出到控制台。 for (int i 0; i ss.length(); i) { for (int j 0; j 4; j) { System.out.print(arr[i][j]); } } }}
在文件5-1中第6~8行代码表示键盘输入要转化的字符串。第11行代码定义了一个二维数组用于接收转化后的二进制数。其中4表示每一行的长度。ss.length()根据键盘录入的字符串决定由多少行。第16~23行代码表示将字符串转化成二进制的数并且存入二维数组中。第27~29行代码表示遍历二维数组并输出结果到控制台。