蓝桥杯 Java 快递分拣

题目描述
蓝桥王国的每个快递都包含两个参数:1.快递单号 2.快递城市。

小李是蓝桥王国的一名快递员,每天的快递分拣让他苦不堪言。

于是他想要你帮他设计一个程序用于快递的分拣(将不同快递按城市信息分开)。
我的答案:(通过)

import java.util.*;
public class Main {
	static Vector<String> citys = new Vector<>();
	static Vector<Vector<String>> dans = new Vector<>();
	
	static int find(String a) {
		for(int i = 0;i<citys.size();i++) {
			if(citys.get(i).equals(a)) {
				return i;
			}
		}
		return -1;
	}
	
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int N = sc.nextInt();
		for(int i = 0;i<N;i++) {
			String dan = sc.next();
			String city = sc.next();
			if(find(city)==-1) {
				citys.addElement(city);
				dans.addElement(new Vector<String>());
				dans.get(dans.size()-1).addElement(dan);
			}else {
				dans.get(find(city)).addElement(dan);
			}
		}
		for(int i =0;i<citys.size();i++) {
			System.out.print(citys.get(i)+" "+dans.get(i).size());
			System.out.println();
			for(int j =0;j<dans.get(i).size();j++) {
				System.out.println(dans.get(i).get(j));
			}
		}
	}
}

注意:在Java中,当我们要写二维的Vector的时候,我们可以写成嵌套的形式。
以下为 Java Vector 的常用的 Api:()内的为返回值
1、(void)addElement(E obj)将指定的组件添加到此向量的末尾, 将其大小增加一。
2、(boolean) equals(Object o)比较指定的 Object 与此 Vector 是否相等。
3、(E) get(int index)返回此 Vector 中指定位置的元素。
4、(boolean) isEmpty()测试此向量是否没有组件。
5、(E) remove(int index)移除此 Vector 中指定位置的元素。
6、(boolean) remove(Object o)移除此 Vector 中第一次出现的指定元素如果 Vector 不包含该元素,则它保持不变。
7、(int) size()返回此向量中的组件数。(也就是容器的大小)
8、(int) indexOf(Object o)返回指定元素第一次出现的索引 在此向量中,如果此向量不包含该元素,则为 -1。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值