任務(wù)描述
本例要求編寫一個程序,從鍵盤錄入一個字符串,將字符串轉(zhuǎn)換為二進(jìn)制數(shù)。在轉(zhuǎn)換時,將字符串中的每個字符單獨轉(zhuǎn)換為一個二進(jìn)制數(shù),將所有二進(jìn)制數(shù)連接起來進(jìn)行輸出。
案例在實現(xiàn)時,要求使用Math類、String類以及Scanner等常見Java API的常用方法.
2.運行結(jié)果
?案例任務(wù)
- 學(xué)會分析“十進(jìn)制轉(zhuǎn)化成二進(jìn)制”任務(wù)的實現(xiàn)思路。
- 根據(jù)思路獨立完成“十進(jìn)制轉(zhuǎn)化成二進(jìn)制”任務(wù)的源代碼編寫、編譯及運行。
- 掌握String類、Math類及Scanner類中常用方法的使用。
- 掌握之前學(xué)習(xí)的雙重for循環(huán)以及數(shù)組的相關(guān)知識。
案例思路
(1) 分析任務(wù)描述可知,鍵盤錄入要轉(zhuǎn)化的字符串。用Scanner實現(xiàn)。
(2)定義一個二維數(shù)組。其中4代表每一行長度。ss.length()根據(jù)鍵盤錄入的字符串表示有多少行。?????
(3)利用for循環(huán)遍歷字符串,遍歷后用String的charAt()方法獲取每個字符并轉(zhuǎn)化成int。char與int進(jìn)行運算,char的數(shù)值要減去 48,因為ASCII碼中0的值是48,1就是49。
(4)轉(zhuǎn)化成int后再用for循環(huán)獲取每一個int類型的數(shù)進(jìn)行轉(zhuǎn)化成二進(jìn)制賦值給數(shù)組。其中Math.pow()方法是Math類中求冪的方法。文章來源:http://www.zghlxwxcb.cn/news/detail-492564.html
(5)最后用雙重for循環(huán)遍歷二維數(shù)組。將結(jié)果輸出到控制臺。文章來源地址http://www.zghlxwxcb.cn/news/detail-492564.html
案例實現(xiàn)
//鍵盤錄入要轉(zhuǎn)化的字符串。用Scanner實現(xiàn)。
Scanner sc = new Scanner(System.in);
System.out.println("請輸入要轉(zhuǎn)換的字符串:");
String ss = sc.nextLine();
//定義一個二維數(shù)組。其中4代表每一行長度。ss.length()根據(jù)鍵盤錄入的字符串表示有多少行。
int [][] arr = new int[ss.length()][4];
//利用for循環(huán)遍歷字符串,遍歷后用String的charAt()方法獲取每個字符并轉(zhuǎn)化成int。char與int進(jìn)行運算,char的數(shù)值要減去 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++) {
//轉(zhuǎn)化成int后再用for循環(huán)獲取每一個int類型的數(shù)進(jìn)行轉(zhuǎn)化成二進(jìn)制賦值給數(shù)組。其中Math.pow()方法是Math類中求冪的方法。
arr[i][j] = (int)((charss/Math.pow(2, 3-j))%2);
}
}
// 最后用雙重for循環(huán)遍歷二維數(shù)組。將結(jié)果輸出到控制臺。
System.out.println("二進(jìn)制的數(shù)是:");
// 最后用雙重for循環(huán)遍歷二維數(shù)組。將結(jié)果輸出到控制臺。
for (int i = 0; i < ss.length(); i++) {
for (int j = 0; j < 4; j++) {
System.out.print(arr[i][j]);
}
}
到了這里,關(guān)于java案例5-4 字符串轉(zhuǎn)換為二進(jìn)制的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!