本帖最后由 怪学究 于 2015-5-5 21:15 编辑
第一种方式:
package Day12;
/**
* 要求:将输入的阿拉伯数字以中文形式输出,
* 比如123输出形式为:一二三
* @author hgm
*/
import java.util.Scanner;
public class numberTest {
public static void main(String[] args) {
String[] arr = { "零", "一", "二", "三", "四", "五", "六", "七", "八", "九" };
Scanner sc = new Scanner(System.in);
System.out.println("请输入一组阿拉伯数字:");
int n = sc.nextInt();
System.out.println("得到的中文数字为:");
String[] rut = new String[30];
int i = 0;
for (; (n * 10) / 10 != 0; n /= 10) {
int m = n % 10;
rut[i++] = arr[m];
}
for (int j = rut.length - 1; j >= 0 ; j--) {
if (rut[j] != null) {
System.out.print(rut[j]);
}
}
}
}
第二种方式:
package Day12;
/**
* 要求:将输入的阿拉伯数字以中文形式输出,
* 比如123输出形式为:一二三
* @author hgm
*/
import java.util.Scanner;
public class numberTest {
public static void main(String[] args) {
String [] arr={"零","一","二","三","四","五","六","七","八","九"};
Scanner sc = new Scanner(System.in);
System.out.println("请输入一组阿拉伯数字:");
int n = sc.nextInt();
int nLength = String.valueOf(n).length();
//建立一个数组,用于存储采集出来的数字,用于逆向遍历
//数组长度为n的长度
int[] number = new int[nLength];
System.out.println("得到的中文数字为:");
// n = 123
// for (; (n*10)/10 != 0; n/=10) {
for (int i = nLength - 1; n > 0; n/=10, i--) {
int m = n%10;
number = m;
}
for(int i : number)
{
System.out.print(arr);
}
}
}
第三种方式:
/*题目二: 从键盘接受一个数字,列出该数字的中文表示格式
例如: 键盘输入123,打印出一二三
键盘输入3103,打印出三一零三*/
import java.io.*;
class test2
{
private String[] nums={"零","一","二","三","四","五","六","七","八","九"};
public String getNum()throws IOException{
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
System.out.println("请输入一个数字:");
return br.readLine();
}
public void changeNum(String s){
char[] ch=s.toCharArray();
for(char c:ch)
{
System.out.print(nums[Integer.parseInt(c+"")]);
}
System.out.println();
}
public static void main(String[] args) throws IOException
{
test2 t=new test2();
String s=t.getNum();
t.changeNum(s);
}
}
|
|