[フェーズ1]Java基礎構文-データ型(2)
レッスン内容
今度は平日の夜に授業があり、退勤後はソフトウェアパークから慌ただしく飛んできた.学生がとっくに座っているのを見て、心の中はとても喜んで、疲れが一瞬にして消えてしまった.まるでその年にデビューした自分を見ているようで、その知識を求める目つきは、早く自分の学んだことを彼らに伝えたくない.今回のコースでは、データ型に着目し、浮動小数点型から引き続き説明します.浮動小数点タイプ-float 4バイトdouble 8バイト 浮動小数点数科学計数法——指数、尾数、基数、精度 浮動小数点数演算-誤差があり、 が比較的遅い.文字タイプ-char 2バイト unicode文字符号化-約8 w+文字、ASCII符号化のスーパーセット エスケープ文字--t\' ブールタイプ-boolean(true or false) 授業の宿題
プログラムを作成し、浮動小数点数を人民元読みに変換し、例えば1006.33を壹仟零陸元叁角叁分に変換する.△今回の作業は難易度が高く、これまで学んだことや、後で学ぶことについて、この作業を通じて橋を架けたいと思っています.
レッスン
03.Java基礎構文-データ型1.pptx
今度は平日の夜に授業があり、退勤後はソフトウェアパークから慌ただしく飛んできた.学生がとっくに座っているのを見て、心の中はとても喜んで、疲れが一瞬にして消えてしまった.まるでその年にデビューした自分を見ているようで、その知識を求める目つきは、早く自分の学んだことを彼らに伝えたくない.今回のコースでは、データ型に着目し、浮動小数点型から引き続き説明します.
プログラムを作成し、浮動小数点数を人民元読みに変換し、例えば1006.33を壹仟零陸元叁角叁分に変換する.△今回の作業は難易度が高く、これまで学んだことや、後で学ぶことについて、この作業を通じて橋を架けたいと思っています.
package com.mashen;
import java.util.Scanner;
/* * * @author tony * @date 2016-5-22 * @version v1.0.0 */
public class NumToStr {
//0~9
private final String[] hanArr = {" ", " ", " ", " ", " ", " ", " ", " ", " ", " "};
//
private final String[] unitArr = {" ", "", " ", " "};
private final String[] tag = {" ", " ", " "};
public static void main(String[] args) {
NumToStr ntr = new NumToStr();
System.out.println(" :");
Scanner scanner=new Scanner(System.in);
// num
double num=scanner.nextDouble();
// ,
String numStr=ntr.toHanStr(num);
System.out.println(numStr);
}
/* * * @param {double} * @return {String} */
public String toHanStr(double num) {
String result = "";
// long ,
long zheng = (long)num;
// , 100,
long xiao = (long)(Math.round((num - zheng) * 100));
// 0 ,
if(0 == zheng) {
int tempJiao = (int)(xiao / 10);
int tempFen = (int)(xiao % 10);
if(tempJiao != 0) {
result += hanArr[tempJiao] + " ";
}
if(tempFen != 0) {
result += hanArr[tempFen] + " ";
}
return result;
}
String zhengStr = String.valueOf(zheng);
int len = zhengStr.length();
int tempLen = 0;
//
for(int i = 0; i < len; i++) {
// ASCII , 48
int temp = zhengStr.charAt(i) - 48;
//
int part = (len - i - 1) / 4;
//
int location = (len - i - 1) % 4;
//
if(location != 0) {
// 0
if(temp != 0) {
//
result += hanArr[temp] + unitArr[(len - i) % 4];
continue;
}
// 0
else {
tempLen = result.length();
// 0
if(3 == location && result.charAt(tempLen - 1) != ' ') {
result += " "; continue;
} else {
tempLen = result.length();
if(result.charAt(tempLen - 1) == ' ') {
continue;
} else {
result += " "; continue;
}
}
}
}
//
else {
if(temp != 0) {
result += hanArr[temp] + tag[part]; continue;
} else {
tempLen = result.length();
if(result.charAt(tempLen - 1) != ' ') {
result += tag[part]; continue;
} else {
if(result.charAt(tempLen - 2) == ' ' || result.charAt(tempLen - 2) == ' ') {
continue;
} else {
result = result.substring(0, tempLen - 1) + tag[part]; continue;
}
}
}
}
}
// , ,
int jiao = (int)(xiao / 10);
int fen = (int)(xiao % 10);
if(jiao != 0) {
result += hanArr[jiao] + " ";
}
if(fen != 0) {
result += hanArr[fen] + " ";
}
return result;
}
}
レッスン
03.Java基礎構文-データ型1.pptx