源代码:
public class Hao{
public static void main(String args[]) {
getHao(120);
}
public static void getHao(int s)
{
while(s>0)
{
int t=0,m;
m=s%10;
t=10*t+m;
s=s/10;
}
while(t>0)
{
int ss;
ss=t%10;
if(ss==0)
System.out.println("零");
else if (ss==1)
System.out.println("壹");
else if (ss==2)
System.out.println("贰");
else if (ss==3)
System.out.println("叁");
else if (ss==4)
System.out.println("肆");
else if (ss==5)
System.out.println("伍");
else if (ss==6)
System.out.println("陆");
else if (ss==7)
System.out.println("柒");
else if (ss==8)
System.out.println("捌");
else if (ss==9)
System.out.println("玖");
else
System.out.println("");
t= t/10;
}
}
}
错误:
E:\Java>javac Hao.java
Hao.java:14: 找不到符号
符号: 变量 t
位置: 类 Hao
while(t>0)
^
Hao.java:17: 找不到符号
符号: 变量 t
位置: 类 Hao
ss=t%10;
^
Hao.java:40: 找不到符号
符号: 变量 t
位置: 类 Hao
t= t/10;
^
Hao.java:40: 找不到符号
符号: 变量 t
位置: 类 Hao
t= t/10;
^
4 错误
急求答案!!!知道的大虾们麻烦下了...谢啦!
public class Hao{
public static void main(String args[]) {
getHao(120);
}
public static void getHao(int s)
{
while(s>0)
{
int t=0,m;
m=s%10;
t=10*t+m;
s=s/10;
}
while(t>0)
{
int ss;
ss=t%10;
if(ss==0)
System.out.println("零");
else if (ss==1)
System.out.println("壹");
else if (ss==2)
System.out.println("贰");
else if (ss==3)
System.out.println("叁");
else if (ss==4)
System.out.println("肆");
else if (ss==5)
System.out.println("伍");
else if (ss==6)
System.out.println("陆");
else if (ss==7)
System.out.println("柒");
else if (ss==8)
System.out.println("捌");
else if (ss==9)
System.out.println("玖");
else
System.out.println("");
t= t/10;
}
}
}
错误:
E:\Java>javac Hao.java
Hao.java:14: 找不到符号
符号: 变量 t
位置: 类 Hao
while(t>0)
^
Hao.java:17: 找不到符号
符号: 变量 t
位置: 类 Hao
ss=t%10;
^
Hao.java:40: 找不到符号
符号: 变量 t
位置: 类 Hao
t= t/10;
^
Hao.java:40: 找不到符号
符号: 变量 t
位置: 类 Hao
t= t/10;
^
4 错误
急求答案!!!知道的大虾们麻烦下了...谢啦!
static int t = 0, m; public static void main(String args[]) {
getHao(120);
} public static void getHao(int s) {
while (s > 0) {
m = s % 10;
t = 10 * t + m;
s = s / 10;
}
while (t > 0) {
int ss;
ss = t % 10;
if (ss == 0)
System.out.println("零");
else if (ss == 1)
System.out.println("壹");
else if (ss == 2)
System.out.println("贰");
else if (ss == 3)
System.out.println("叁");
else if (ss == 4)
System.out.println("肆");
else if (ss == 5)
System.out.println("伍");
else if (ss == 6)
System.out.println("陆");
else if (ss == 7)
System.out.println("柒");
else if (ss == 8)
System.out.println("捌");
else if (ss == 9)
System.out.println("玖");
else
System.out.println("");
t = t / 10;
}
}
}
看看保存时候的格式是ASCII不????
可以这样...
String[] ary = new String[]{"零","壹","贰","叁","肆","伍","陆","柒","捌","玖"};
System.out.println(ary[ss]);
好点吧!!
* 人民币转换为大写
* @author hxk
* @Date 2011-6-02
*/
public final class ChangeRMB {// 每个数字对应的大写
private static final String[] num = {
"零", "壹", "贰", "叁", "肆", "伍",
"陆", "柒", "捌", "玖",
};// 从低到高排列的单位
private static final String[] bit = {
"圆", "拾", "佰", "仟", "万", "拾",
"佰", "仟", "亿", "拾", "佰", "仟",
"万", "拾", "佰", "仟", "亿"
};// 金额里面的角和分
private static final String[] jf={
"角","分"
};
/**
* 处理金额的整数部分,返回"...圆整"
* @param integer
* @return String
* @throws Exception
*/
public static String praseUpcaseRMB(String integer)throws Exception{
StringBuilder sbdr=new StringBuilder(""); int j=integer.length();
if(j>bit.length){
throw new Exception("\n只能处理亿万亿以内的数据(含亿万亿)!");
} char[] rmb=integer.toCharArray();
for (int i = 0; i < rmb.length; i++) {
int numLocate=Integer.parseInt(""+rmb[i]); //大写数字位置
int bitLocate=j-1-i; //数字单位的位置 /*
* 连续大写零只添加一个
*/
if(numLocate==0 ){
if(!sbdr.toString().endsWith(num[0])){
sbdr.append(num[numLocate]);
}
continue;
} /*
* 下面的if语句保证
* 10065004583.05-->壹佰亿陆仟伍佰万肆仟伍佰捌拾叁圆零伍分
*/
if(bit[bitLocate].equals("仟")){
String s=sbdr.toString();
if(!s.endsWith(bit[bitLocate+1]) && s.length()>0){
if (s.endsWith(num[0])) {
sbdr.deleteCharAt(sbdr.length() - 1);
}
sbdr.append(bit[bitLocate+1]);
}
} sbdr.append(num[numLocate]);
sbdr.append(bit[bitLocate]); }//end for /*
* 去掉结尾"零"后,补全
*/
if(sbdr.toString().endsWith(num[0])){
sbdr.deleteCharAt(sbdr.length()-1);
sbdr.append("圆整");
}else{
sbdr.append("整");
} return sbdr.toString();
}
/**
* 处理带小数的金额,整数部分交由上一个方法处理,小数部分自己处理
* @param integer
* @param decimal
* @return String
* @throws Exception
*/
public static String praseUpcaseRMB(String integer, String decimal)throws Exception{ String ret=ChangeRMB.praseUpcaseRMB(integer);
ret=ret.split("整")[0]; //处理整数部分
StringBuilder sbdr=new StringBuilder("");
sbdr.append(ret); char[] rmbjf=decimal.toCharArray();
for(int i=0;i<rmbjf.length;i++){
int locate=Integer.parseInt(""+rmbjf[i]);
if(locate==0 ){
if(!sbdr.toString().endsWith(num[0])){
sbdr.append(num[locate]);
}
continue;
}
sbdr.append(num[locate]);
sbdr.append(jf[i]);
} return sbdr.toString();
} /**
* 将double形式的字符串(有两位小数或无小数)转换成人民币的大写格式
* @param doubleStr
* @return String
* @throws Exception
* 如:100.00
*/
public static String doChangeRMB(String doubleStr)throws Exception{
String result=null; if (doubleStr.contains(".")) { //金额带小数
int dotloc=doubleStr.indexOf(".");
int strlen=doubleStr.length(); String integer=doubleStr.substring(0, dotloc);
String decimal=doubleStr.substring(dotloc+1, strlen); result=ChangeRMB.praseUpcaseRMB(integer, decimal);
} else { //金额是整数
String integer=doubleStr;
result=ChangeRMB.praseUpcaseRMB(integer);
} return result;
} /**
* 将double形式的字符串(有两位小数或无小数)转换成人民币的大写格式
* @param doubleStr
* @return String
* @throws Exception
* 如100,00
*/
public static String doChangeRMBByStr(String doubleStr)throws Exception{
String result=null; if (doubleStr.contains(",")||doubleStr.contains(".")) { //金额带小数
int dotloc=doubleStr.indexOf(",")>0?doubleStr.indexOf(","):doubleStr.indexOf(".");
int strlen=doubleStr.length(); String integer=doubleStr.substring(0, dotloc);
String decimal=doubleStr.substring(dotloc+1, strlen); result=ChangeRMB.praseUpcaseRMB(integer, decimal);
} else { //金额是整数
String integer=doubleStr;
result=ChangeRMB.praseUpcaseRMB(integer);
} return result;
} /**
* 将double数值(有两位小数或无小数)转换成人民币的大写格式
* @param rmbDouble
* @return String
* @throws Exception
*/
public static String doChangeRMB(double rmbDouble)throws Exception{
String result=null;
double theInt=Math.rint(rmbDouble);
if(theInt > rmbDouble){
theInt-=1;
}
double theDecimal=rmbDouble-theInt; String integer=new Long((long)theInt).toString();
String decimal=""+Math.round(theDecimal*100);
if(decimal.equals("0")){
result=ChangeRMB.praseUpcaseRMB(integer);
}else{
result=ChangeRMB.praseUpcaseRMB(integer, decimal);
}
return result;
}
}