题目链接
题目分析
将念数字作为一个单独的方法,能够接收从键盘读入的数字。我们可以定义一个字符串数组,里面的元素是从零到九的拼音。然后我们将读入的这个数字转换成一个字符串,并且依次取出每一个字符,利用ASCII码的性质给它减去零这个字符就可以得到数字本身,而这个数字作为下标的话,刚好对应素组里的拼音。然后打印就可以了。
首先需要从键盘读入要读的数字。然后判断一下是不是负数,正数直接调用读数字的方法,负数需要单独打印一个"fu ",然后调用读数字的方法,参数是他的绝对值。
示例代码
import java.util.Scanner; public class L1_007 { public static void main(String[] args) { //读入一个数字 Scanner input = new Scanner(System.in); int num = input.nextInt(); input.close(); //判断是否是负数,并控制打印形式 if(num < 0) { System.out.print("fu" + " "); //负数要找到绝对值去读 int num_abs = Math.abs(num); read(num_abs); } else { read(num); } } /** * @Title: read * @Description: 读数字 * @param @param n 设定文件 * @return void 返回类型 * @throws */ public static void read(int n) { //定义一个字符串数组,元素是从零到九的数字的拼音 String[] arr = {"ling","yi","er","san","si","wu","liu","qi","ba","jiu"}; int number = n; //将数字转换为字符串 String str = number +""; //定义最终要打印的字符串 String print = ""; //遍历字符串 for(int index = 0; index < str.length(); index++) { //从左往右取到每一个字符 char c = str.charAt(index); //用取到的字符减字符零,得到的 int 型数字就是数字本身 //用数字本身作为下标获取拼音 int arr_index = c - '0'; //concat(String s) 方法,把指定的字符串连接到这个字符串的末尾 print = print.concat(arr[arr_index] + " "); } //trim() 方法,去掉字符串末尾的空格字符 System.out.println(print.trim()); } }