小白求个大佬帮我看一下?不管怎么测试结果都是ling

package zuoye4;
//念整数(5分)
//题目内容:
//你的程序要读入一个整数,范围是[-100000,100000]。然后,用汉语拼音将这个整数的每一位输出出来。
//如输入1234,则输出:
//yi er san si
//注意,每个字的拼音之间有一个空格,但是最后的字后面没有空格。当遇到负数时,在输出的开头加上“fu”,如-2341输出为:
//fu er san si yi
//
//输入格式:
//一个整数,范围是[-100000,100000]。
//
//输出格式:
//表示这个整数的每一位数字的汉语拼音,每一位数字的拼音之间以空格分隔,末尾没有空格。
//
//输入样例:
//-30
//
//输出样例:
//fu san ling

import java.util.Scanner;

public class zuoye42 {

public static void main(String[] args) {
    // TODO Auto-generated method stub
    Scanner in = new Scanner(System.in);
    int x = in.nextInt();
    int count=0;
    if(x<0)
    {
        System.out.print("fu"+" ");

    }
    x=Math.abs(x);
    System.out.print(x);
    while(x!=0)
        {   

                x=x/10;
                count++;
        }
    for(int i=count;i>0;)
    {
        int js=((int) Math.pow(10, i-1));
        switch(x/js)
                {
        case 0 :
                System.out.print("ling ");
                break;
        case 1:
            System.out.print("yi ");
            break;
        case 2:
            System.out.print("er " );
            break;
        case 3:
            System.out.print("san ");
            break;
        case 4:
            System.out.print("si " );
            break;
        case 5:
            System.out.print("wu " );
            break;
        case 6:
            System.out.print("liu " );
            break;
        case 7:
            System.out.print("qi " );
            break;
        case 8:
            System.out.print("ba " );
            break;
        case 9:
            System.out.print("jiu " );
            break;

                }
        i--;
    }
}

}

1个回答

while(x!=0)
        {   

                x=x/10;
                count++;
        }

这个循环执行完,x必然是0
switch(x/js)
显然就是0了

参考
https://blog.csdn.net/hlhe_14/article/details/79282921?utm_source=blogxgwz2
https://blog.csdn.net/cwq_000/article/details/83746837

nihuobuxi
风聆逆火 谢谢大佬,听你一席话,突然意思到犯了3个错误,一是,X的值没保留下来:第二,for循环忘了X%=x,三,switch里没有把(x/js)取绝对值了。脑子太晕了
11 个月之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问