这是我参与11月更文挑战的第28天,活动详情查看:2021最后一次更文挑战
7-9 念数字
输入一个整数,输出每个数字对应的拼音。当整数为负数时,先输出fu字。十个数字对应的拼音如下:
0: ling
1: yi
2: er
3: san
4: si
5: wu
6: liu
7: qi
8: ba
9: jiu
输入格式:
输入在一行中给出一个整数,如:1234。
提示:整数包括负数、零和正数。
输出格式:
在一行中输出这个整数对应的拼音,每个数字的拼音之间用空格分开,行末没有最后的空格。如 yi er san si。
输入样例:
-600
结尾无空行
输出样例:
fu liu ling ling
结尾无空行
代码
import java.util.HashMap;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
HashMap list=new HashMap();
list.put('0',"ling");
list.put('1',"yi");
list.put('2',"er");
list.put('3',"san");
list.put('4',"si");
list.put('5',"wu");
list.put('6',"liu");
list.put('7',"qi");
list.put('8',"ba");
list.put('9',"jiu");
String num=sc.next();
String result="";
for(int i=0;i<num.length();i++) {
if(i==0&& num.charAt(i)=="-".charAt(0)) {
result+="fu ";
continue;
}
if(i!=num.length()-1)
result+=list.get(num.charAt(i))+" ";
else
result+=list.get(num.charAt(i));
}
System.out.println(result);
}
}
思路概括
使用map来存储0——9对应的拼音字符串。然后逐个获取输入的字符对应的数字,根据map的键值对将将结果加进结果字符串中。
7-10 求整数段和
给定两个整数A和B,输出从A到B的所有整数以及这些数的和。
输入格式:
输入在一行中给出2个整数A和B,其中−100≤A≤B≤100,其间以空格分隔。
输出格式:
首先顺序输出从A到B的所有整数,每5个数字占一行,每个数字占5个字符宽度,向右对齐。最后在一行中按Sum = X的格式输出全部数字的和X。
输入样例:
-3 8
结尾无空行
输出样例:
-3 -2 -1 0 1
2 3 4 5 6
7 8
Sum = 30
结尾无空行
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
int a=sc.nextInt();
int b=sc.nextInt();
int sum=0,count=0;
for(int i=a;i<=b;i++) {
System.out.printf("%5d",i);
sum+=i;
count++;
if(count%5==0) {
System.out.println();
}
else if(i==b){
System.out.println();
}
}
System.out.println("Sum = "+sum);
}
}
思路概括
需要用到格式化的输出,题目挺简单,要注意调整格式。