首页 > 编程语言 >PAT-basic-1006 换个格式输出整数 java

PAT-basic-1006 换个格式输出整数 java

时间:2023-02-18 12:34:11浏览次数:31  
标签:输出 java -- 样例 list len basic PAT

一、题目

让我们用字母 B 来表示“百”、字母 S 表示“十”,用 12...n 来表示不为零的个位数字 n(<10),换个格式来输出任一个不超过 3 位的正整数。例如 234 应该被输出为 BBSSS1234,因为它有 2 个“百”、3 个“十”、以及个位的 4。

输入格式:
每个测试输入包含 1 个测试用例,给出正整数 n(<1000)。

输出格式:
每个测试用例的输出占一行,用规定的格式输出 n。

输入样例 1:
234
输出样例 1:
BBSSS1234
输入样例 2:
23
输出样例 2:
SS123

二、解析

用一个列表来存储要输出的字符,处理输入从个位开始,然后十位,再百位,每次都头插,这样最后直接顺序输出,也可以尾插,然后倒序输出。

三、代码

import java.util.LinkedList;
import java.util.List;
import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        String str = input.nextLine();
        List<Character> list = new LinkedList<>();
        int len = str.length();
        for(int i=len-1; i>=0; i--){
            char c = str.charAt(i);
            if(i==len-1){
                while(c > '0')
                    list.add(0, c--);
            }
            if(i==len-2){
                int num = c-'0';
                while(num-- > 0)
                    list.add(0, 'S');
            }
            if(i==len-3){
                int num = c-'0';
                while(num-- > 0)
                    list.add(0, 'B');
            }
        }
        for (Character character : list)
            System.out.print(character);
    }
}

标签:输出,java,--,样例,list,len,basic,PAT
From: https://www.cnblogs.com/langweixianszu/p/17132336.html

相关文章

  • PAT-basic-1007 素数对猜想 java
    一、题目让我们定义dn为:dn=p(n+1)−p~n,其中pi是第i个素数。显然有d1=1,且对于n>1有dn是偶数。“素数对猜想”认为“存在无穷多对相邻且差为2的素数”。现给定任意......
  • Java集合框架
    Java集合框架Java的集合框架大致分为两个部分:Collection:主要有List、Set、Queue组成。Map:主要是HashMap,代表是键值对的集合。ListList的特点是存取有序,可以存放重......
  • Javascript与HTML5的canvas实现图片旋转效果
    ​​查看演示​​我们在微博上可以对图片进行向左转向右转等旋转操作,让用户可以从不同的视角欣赏图片效果。本文将结合实例为您讲解如何使用Javascript结合相关技......
  • 【JavaScript】16_JS提升
    13、提升变量var的提升\-使用var声明的变量,它会在所有代码执行前被声明所以我们可以在变量声明前就访问变量(不推荐,不好维护)函数的提升\-......
  • 前端Javascript下载文件
    项目开发中经常会有导出数据到Excel类似的需求,或者是下载文档的需求。最简单的下载方式是直接请求服务端文件地址,通过浏览器http实现文件下载。但是开发中,由于项目需求,你要......
  • Java基础知识点(二维数组)
                       二维数组1.二维数组的定义方式有多种。下面介绍常见的三种方式:第一种:数据类型[][]数组名=new数据类型[行的......
  • java的long的小l和大L区别
    首先几乎在所有位置,long的小写和大写都可以互相替换。其次L本质是对象,不是基础类型,具有Object的特性。包装类把基本类型转换为对象,每个基本类型在java.lang包中都有一个相应......
  • Java @Data注解
    1、@Data注解是lombok.jar包下的注解,该注解通常用在实体bean上,不需要写出set和get方法,但是具备实体bean所具备的方法,简化编程提高变成速度。 2、@Data相当于@Getter@Sette......
  • select stuff((select ','+行名 from 表名 for xml path('')),1,1,'') 双列合并
    xiaoming20你好xiaoli50啊xiafeng60你好啊laifu50你好   SELECTSTUFF((SELECT','+name+':'+str(count)FROMdbo.test......
  • 读Java实战(第二版)笔记13_Java模块系统
    1. NicolaiParlog编写的TheJavaModuleSystem1.1. 推荐阅读2. Jigsaw项目2.1. 开发持续了将近十年3. 关注点分离3.1. separationofconcern,SoC3.2. 将......