源代码:
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 错误
急求答案!!!知道的大虾们麻烦下了...谢啦!

解决方案 »

  1.   

    public class Hao {
    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;
    }
    }
    }
      

  2.   

    你用的记事本编写的????
    看看保存时候的格式是ASCII不????
      

  3.   

    这个...代码...
    可以这样...
    String[] ary = new String[]{"零","壹","贰","叁","肆","伍","陆","柒","捌","玖"};
    System.out.println(ary[ss]);
      

  4.   

    1楼正解,把t放到while之后就可以了..
      

  5.   

    楼主用下Notepad++吧,只有几M,写代码还有格式,能够节省时间
      

  6.   

    用switch case
     好点吧!!
      

  7.   

    看了LZ的题,我想到关于人民币123转换成大写类,顺便分享给大家/*
     * 人民币转换为大写
     * @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;
    }