黑马程序员技术交流社区
标题:
题目二: 从键盘接受一个数字,列出该数字的中文表示格式
[打印本页]
作者:
逍遥才子121
时间:
2015-5-3 19:15
标题:
题目二: 从键盘接受一个数字,列出该数字的中文表示格式
题目二: 从键盘接受一个数字,列出该数字的中文表示格式
例如: 键盘输入123,打印出一二三
键盘输入3103,打印出三一零三
import java.util.Scanner;
class Test1
{
public static void main(String[] args)
{
int x = 0;
String[] str = {"零","一","二","三","四","五","六","七","八","九"};
Scanner sc = new Scanner(System.in);
sop("请输入一个阿拉伯数字:");
try{
int n = sc.nextInt(); //得到输入int型数据
String s =String.valueOf(n); //将输入的int型数据转为String类型
while(x<s.length()) //进入循环
{
char a = s.charAt(x); //得到String数据的每一位(为char类型)
System.out.print(str[Integer.parseInt(String.valueOf(a))]);
//将char类型转为String类型再转为Int类型并作为角标获得数组str中元素并打印
x++;
}
}
catch(Exception e)
{
sop("您输入的数据类型错误,请重新运行后重新输入");//报错信息
}
}
public static void sop(Object obj)
{
System.out.println(obj); //换行打印方法
}
}
这是我的方法,基本可以实现,但是感觉有些麻烦,谁有简单的方法参考参考
作者:
lshaizj
时间:
2015-5-3 19:33
学习了 赞一个
作者:
一只玉米
时间:
2015-5-3 19:45
本帖最后由 一只玉米 于 2015-5-3 19:49 编辑
int n = sc.nextInt(); //得到输入int型数据
String s =String.valueOf(n); //将输入的int型数据转为String类型
直接 String s= sc.next() ;就是OK了
我的没写异常--------
import java.util.*;
class QuesionDemo
{
public static void main(String[] args)
{
while(true)
{
Scanner sc = new Scanner( System.in );
System.out.print( "请输入数字 : " );
String str = sc.next();
String[] arr=new String[]{"零","一","二","三","四","五","六","七","八","九"};
String[] arr1=str.split ("");
for(int i=0;i<arr1.length;i++)
{
int index =Integer.parseInt(arr1
);
System.out.print(arr[index]);
}
System.out.println();
}
}
}
作者:
雪风飞花
时间:
2015-5-3 20:04
学习了:lol
作者:
fanxia_2007
时间:
2015-5-3 20:06
好样的。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2