首页 > 编程语言 >PAT-basic-1002 写出这个数 java

PAT-basic-1002 写出这个数 java

时间:2023-02-17 20:23:04浏览次数:38  
标签:PAT java int BufferedReader num io basic import

一、题目

读入一个正整数 n,计算其各位数字之和,用汉语拼音写出和的每一位数字。

输入格式:
每个测试输入包含 1 个测试用例,即给出自然数 n 的值。这里保证 n 小于 10100

输出格式:
在一行内输出 n 的各位数字之和的每一位,拼音数字间有 1 空格,但一行中最后一个拼音数字后没有空格。

输入样例:

1234567890987654321123456789

输出样例:

yi san wu

二、解析

把输入当作字符串来处理,遍历这个字符串的每一位,可以得到和,再将其转换为字符串逐个字符输出即可。也可以用一个字符数组来代替switch输出。

三、代码

import java.io.IOException;
import java.util.Scanner;
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class Main {
    public static void main(String[] args) {
        BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
        String num = "";
        try {
            num = in.readLine();
        } catch (IOException e) {
            throw new RuntimeException(e);
        }
        int len = num.length();
        int sum = 0;
        for(int i=0; i<len; i++){
            sum += num.charAt(i) - '0';
        }

        String sum1 = sum+"";
        for(int i=0; i<sum1.length(); i++){
            char temp = sum1.charAt(i);
            switch (temp){
                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;
            }
            if(i!=sum1.length()-1) System.out.print(" ");
        }
    }
}

标签:PAT,java,int,BufferedReader,num,io,basic,import
From: https://www.cnblogs.com/langweixianszu/p/17131415.html

相关文章

  • PAT-basic-1001 害死人不偿命的(3n+1)猜想 java
    一,题目卡拉兹(Callatz)猜想:对任何一个正整数 n,如果它是偶数,那么把它砍掉一半;如果它是奇数,那么把 (3n+1) 砍掉一半。这样一直反复砍下去,最后一定在某一步得到 n=1。卡......
  • Java基础知识点(数组遍历以及常见问题)
    一:数组遍历:将数组中的所有内容取出来,取出来之后可以对它进行一系列的操作。注意:遍历指的是取出数据的过程,不要局限的理解为遍历就是打印。在Java中,关于数组的一个长度属性.l......
  • Java基础知识点(数组较难的的一个练习-数组的排序)
    冒泡排序:第一步:从第一个元素开始,将相邻的两个元素进行比较,如果前一个元素比后一个元素大,则交换他们的位置,直到最后两个元素完成比较。整个过程完成后,数组中最后一个元素自然......
  • Java代码生成PDF2.0(包括文字图片)+PDF加水印+PDF转图片
    1.开源框架支持iText,生成PDF文档,还支持将XML、Html文件转化为PDF文件;(简单但是得下载软件)ApachePDFBox,生成、合并PDF文档;(类似于itext)docx4j,生成docx、pptx、xlsx文档,支......
  • JavaScript函数柯里化
    首先说一下什么是函数柯里化吧 函数柯里化:一种将多参数函数转换成一系列使用一个参数的函数的技术,它在函数式编程中非常常见执行的条件:通用的柯里化函数,它接收一个函数......
  • Thymeleaf常用语法:模板文件中表达式调用Java类的方法
    在模板文件的表达式中,可以使用“${T(全限定类名).方法名(参数)}”这种格式来调用Java类的静态方法。开发环境:IntelliJIDEA2019.2.2SpringBoot版本:2.1.8新建一个名称......
  • java在线读取Excel内容
    本示例采用Springboot的Thymeleaf做前台展示,核心还是java代码,想了解Thymeleaf的可以点击​​《SpringBoot入门十六,添加Thymeleaf模板支持》​​进行入门学习,这里就只做关于......
  • Java Web(二)MyBatis
    MyBatis一.MyBatis简介1.什么是MyBatisMyBatis是一款优秀的持久层框架,用于简化JDBC开发MyBatis本是Apache的一个开源项目iBatis,2010年这个项目由apachesoftwarefoundati......
  • 安装netbense时提示在此计算机中找不到Java SE开发工具包(JDK)
    在提示信息中显示的需要JDK8或更高版本,这边需要提醒大家不要把jdk8和jdk1.8弄混首先大家打开控制面板找到程序并点击进去点击程序和功能  在电脑上查看是否有jav......
  • 处理坑爹的 GOPATH (系统变量和Goland)
    学习go的过程中发现写好的代码放到自己电脑上发现跑不起来,说是导包失败,晚上睡觉看书的时候突然想到GOPATH,这是go语言特有的环境变量,是不是这个东西搞的鬼。设置gopath也是......