java一百题——7-9 念数字、7-10 求整数段和

156 阅读2分钟

这是我参与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);
	}

}

image.png

思路概括

使用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);
	}

}

思路概括

需要用到格式化的输出,题目挺简单,要注意调整格式。