货物+输入+排序+输出

来源:互联网 发布:怎么下载linux镜像 编辑:程序博客网 时间:2024/04/28 06:43

程序可通过界面逐一输入各物品的名称和售卖数量,

同类物品可多次输入,并且物品数量累加,

按物品售卖数量进行由低到高进行排名,将排名结果输出到界面上。



import java.io.*;import java.util.*;public class Main {   public static void main(String[] args) {      Scanner input = new Scanner(System.in);      String name;      int num;      Map<String,Integer> goods_number = new HashMap<String,Integer>();      System.out.println("Please input goods name and number(input q to exit):");      while(true){         name=input.next();         if(name.equals("q")) break;         num=input.nextInt();         if(goods_number.containsKey(name)) {             goods_number.put(name,num+goods_number.get(name));         }         else goods_number.put(name,num);      }            List<Map.Entry<String, Integer>> goods = new ArrayList<Map.Entry<String, Integer>>(goods_number.entrySet());      Collections.sort(goods, new Comparator<Map.Entry<String, Integer>>() {           public int compare(Map.Entry<String, Integer> o1, Map.Entry<String, Integer> o2) {                //return (o2.getValue() - o1.getValue());           return (o1.getValue()) - (o2.getValue());        }      });      System.out.println("The rank is:");     for (int i = 0; i < goods.size(); i++) {        String[] res= goods.get(i).toString().split("=");        System.out.println(res[0]+"\t"+res[1]);     }   }}/*hadoop@dream:~$ cat input c 3a 1b 1b 1qhadoop@dream:~$ javac Main.java hadoop@dream:~$ java Main <inputabchadoop@dream:~$ 


0 0
原创粉丝点击