金额的中文大小写方式 问题定乂 金额的范围:最大值与最小值 金额的形式小数(浮点数) 解题思路 1变换为整数,再转换. 2变换为byt型数组,再转换 3看成字符串进行处理
金额的中文大小写方式 • 问题定义: 金额的范围:最大值与最小值 金额的形式:小数(浮点数) • 解题思路 1 变换为整数,再转换. 2 变换为byte型数组,再转换. 3 看成字符串进行处理
变换为整数 给一最多由5位整数和2位小数组成的 浮点数rmb 2判断0<rmb<100000?,若不是,则显 示“数字大小出界。”,程序结束;否 3rmb=rmb*100,把其转化为整数 4从高位依次取数字,判断并输出
变换为整数 • 1 给一最多由5位整数和2位小数组成的 浮点数rmb。 • 2 判断0<rmb<100000?,若不是,则显 示“数字大小出界。”,程序结束;否 则, • 3 rmb=rmb*100,把其转化为整数。 • 4 从高位依次取数字,判断并输出
程序整体结构 public class rmb public static void main( String args) float rmb=76000f long rmbint. n.m int i,j, k=0, I boolean first=-false, first]=false, flag-false if(rmb<1) first1=true;置不显示有效数前的0标志 if(0<rmb)&(rmb<100000) 从高位依次取数字,判断并输出 System. out. printin(("金额出界!");
程序整体结构 public class Rmb { public static void main(String args[]) { float rmb=76000f; long rmbint,n,m; int i,j,k=0,l; boolean first=false,first1=false,flag=false; if (rmb<1) first1=true;//置不显示有效数前的0标志 if ((0<rmb) & (rmb<100000)) {//从高位依次取数字,判断并输出 } else System.out.println("金额出界!"); } }
从高位依次取数字,判断并输出 for(i=7;>=1;-)从高位依次取数字,判断并输出 ifor g=1 取最高位 n=n/10 =(int )n if(l!1=0)∥判断最高位 fist=true;∥置显示第一个0标志 switch () case 9 System out print("I"); break; case 8 System out print("3"); break case 7: System. out print("#"); break case 6: System. out. print("Pti") break case 5: System. out. print("ffi"); break; case 4: System. out. print("Et"); break case 3: System. out. print(""); break case 2: System. out. print("nt"); break case 1:if(rmb=1000 System. out print("壹") break:/10元显示为“拾元
从高位依次取数字,判断并输出 for (i=7;i>=1;i--)//从高位依次取数字,判断并输出 {for (j=1;j<=i-1;j++)//取最高位 n=n/10; l=(int)n; if (l!=0)//判断最高位 { first=true;//置显示第一个0标志 switch(l) { case 9: System.out.print("玖");break; case 8: System.out.print("捌");break; case 7: System.out.print("柒");break; case 6: System.out.print("陆");break; case 5: System.out.print("伍");break; case 4: System.out.print("肆");break; case 3: System.out.print("叁");break; case 2: System.out.print("贰");break; case 1: if (rmb!=1000)System.out.print("壹");break;//10元显示为“拾元” } }
switch(i) case 7: if (1=0)System. out. print(")"); if(rmb%100000ag-true;/置显示整万标志 break. case 6: if (1=0)System. out. print("f"); if(rmb%100000==0)flag-true break case 5: if (1=0)System. out. print("F") if(rmb%10000==0)flagtrue; break case 4: if(1=0)System. out print("fa") if (rmb%==0)flag=true; break case3:if( rmbint'%100=0)fag-true;/置显示整元标志 Ise if(! first1)//不够壹元不显示元 System. out. print("W"); break case 2: if (1=0)System. out print("f"); break case 1: if (1=0)System. out. println("/");break if(fag)显示圆整 System. out. printIn("圆整") break
switch(i) { case 7: if (l!=0)System.out.print("万"); if (rmb%1000000==0) flag=true;//置显示整万标志 break; case 6: if (l!=0)System.out.print("仟"); if (rmb%100000==0) flag=true;break; case 5: if (l!=0)System.out.print("佰"); if (rmb%10000==0) flag=true;break; case 4: if (l!=0)System.out.print("拾"); if (rmb%1000==0) flag=true; break; case 3: if (rmbint%100==0)flag=true;//置显示整元标志 else if (!first1)//不够壹元不显示元 System.out.print("圆"); break; case 2: if (l!=0)System.out.print("角");break; case 1: if (l!=0)System.out.println("分");break; } if (flag)//显示圆整 { System.out.println("圆整"); break; }
for(=1j=l; i-
for (j=1;j=1;i--)
习题-4.(1) 输出 00000 01111 01233 01234 思路:第一次循环生成第1行和第1列
习题一 4.(1) 输出: 0 0 0 0 0 0 1 1 1 1 0 1 2 2 2 0 1 2 3 3 0 1 2 3 4 思路:第一次循环生成第1行和第1列;…