J. Problem J. Banana的解析

题目

  • 题目大意就是:通过存取一开始给予的字典,翻译下列的语句
  • 样例输入:
4
I = mo
love = amo
icecream = gelatooo
banana = banana
2
3
I love banana
3
I love icecream
  • 样例输出:
mo amo banana
mo amo gelatooo
  • 解法:我是使用java解,因为Java里面有map集合可以很好的保存String字符串。
  • 代码:
public static void main(String[] args) throws NumberFormatException, IOException {
		//输入流
		BufferedReader sr = new BufferedReader(new InputStreamReader(System.in));
		int n;
		//输入次数
		n = Integer.parseInt(sr.readLine());
		//创建map集合
		Map<String, String> map = new HashMap<>();
		//输入字典并且把字典放入map集合中
		for(int i=0;i<n;i++) {		
			String book = sr.readLine();
			String[] books = book.split(" ");
			String name = books[0];
			String value = books[books.length-1];
			map.put(name,value);	
		}
		//获取案例次数
		int x;
		x = Integer.parseInt(sr.readLine());
		//遍历
		for(int i = 0 ; i <x ; i++ ) {
			String t = sr.readLine();
			String c = sr.readLine();
			//将字符串分段
			String[] a = c.split(" ");
			//将分段的字符串一一辨别
			for (int j = 0 ;j < a.length; j++) {
				System.out.print(map.get(a[j]));
				if(j<a.length-1) {
				System.out.print(" ");
				}
			}
			System.out.println("");
		}
	}

总结

这道题目的算法不多,主要是利用java比较好写,c++也可以不过比较麻烦,java麻烦的就是输入比较麻烦。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值