题目:
让我们用字母 B 来表示“百”、字母 S 表示“十”,用 12…n 来表示不为零的个位数字 n(<10),换个格式来输出任一个不超过 3 位的正整数。例如 234 应该被输出为 BBSSS1234,因为它有 2 个“百”、3 个“十”、以及个位的 4。
输入格式:
每个测试输入包含 1 个测试用例,给出正整数 n(<1000)。
输出格式:
每个测试用例的输出占一行,用规定的格式输出 n。
输入样例 1:
234
输出样例 1:
BBSSS1234
输入样例 2:
23
输出样例 2:
SS123
思路:拆分数字,找出每一位,十位百位根据数字输出字符,对于个位,初始化一个字符串,根据个位数字进行截取,按照顺序追加到StringBuilder并输出。
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
StringBuilder s = new StringBuilder();
String cge="";
String g="123456789";
Scanner sc=new Scanner(System.in);
int n=sc.nextInt();
//
if (n<1000) {
int bai = n / 100;
int shi = n / 10 % 10;
int ge = n % 100%10;
//
if (bai!=0){
for (int i=0;i<bai;i++){
s.append("B");
}
}
//
if (shi!=0){
for (int i=0;i<shi;i++){
s.append("S");
}
}
//
if (ge!=0){
cge=g.substring(0,ge);
s.append(cge);
}
}
System.out.println(s);
}
}