(Review questions) Say integers

Continue to divide 10 with n, get n is a few digits, get a mask;

Divide n by mask every time to get the highest digit of n, and at the same time mask/=10, the loop keeps until mask == 0;

import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		Scanner in = new Scanner(System.in);
		int n = in.nextInt();
		int flag = 0;
		if(n<0)
		{
			System.out.print("fu");
			flag = 1;
			n = -n;
		}
		int t = n;
		int mask = 1;
		while(t>9)
		{
			t /= 10;
			mask *= 10;
		}
		while(mask>0)
		{
			if(flag == 0)
			{
				flag = 1;
			}
			else
			{
				System.out.print(" ");
			}
			int tmp = n;
			tmp /= mask;
			switch(tmp) {
			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;
			}
			n = n-tmp*mask;
			mask /= 10;
		}	
	}

}

 

 

Guess you like

Origin blog.csdn.net/yiwaite/article/details/102569216