用于单独的嵌套迭代



>我有 2 个列表-

[(唐杜尔,印度(,(印度比里亚尼(,(比萨饼,意大利(]

{在上面,左边的项目是右边的美食类型的食品}

[(约翰,印度人(,(

玛丽,印度人(,(山姆,意大利人(]

{在上面,左边的人可以选择右边的菜种}

我需要将列表的内容打印为约翰·唐杜尔约翰·比里亚尼玛丽·唐杜尔玛丽·比里亚尼山姆披萨

给出了用于初始化 2 个给定列表、打印输出和处理 Pair 对象(比较、访问键和值(的 API。

为什么我在下面得到空指针异常 -

package a1;
import java.util.Collections;
import java.util.LinkedList;
import java.util.List;
import java.util.ListIterator;
import java.util.Scanner;
public class main {
    static class Pair implements Comparable<Pair>{
        String pairKey;
        String pairValue;
        Pair(String pairKey, String pairValue) {
            this.pairKey = pairKey;
            this.pairValue = pairValue;
        }
        public String getPairKey() {
            return pairKey;
        }
        public String getPairValue() {
            return pairValue;
        }
        public String toString() {
            return getPairKey() + " " + getPairValue();
        }
        @Override
        public int compareTo(Pair pair) {
            int compare = pairKey.compareTo(pair.getPairKey());
            if(compare == 0) {
                compare = pairValue.compareTo(pair.getPairValue());
            }
            return compare;
        }
    }
    static List<Pair> solve(List<Pair> lunchMenuPairs, List<Pair> teamCuisinePreferencePairs){
        List<Pair> result= null;
        for(Pair first : teamCuisinePreferencePairs){
            for(Pair name : lunchMenuPairs)
            {
                String a1 = first.getPairValue();
                String a2 = name.getPairValue();
                String a3 = first.getPairKey();
                String a4 = name.getPairKey();
                if(first.compareTo(name)==0)
                {
                    System.out.println(a3);
                    System.out.println(a4);
                    Pair pair = new Pair(a3,a4);
                    result.add(pair);
                }
            }
        }
        return result;
    }
    private static void readAndSetParameters(List<Pair> lunchMenuPairs, List<Pair> teamCuisinePreferencePairs) {
        int lunchMenuPairCount = -1;
        int teamCuisinePreferencePairCount = -1;
        String tempOption = null, tempOptionValue = null;;
        try(Scanner in = new Scanner(System.in)) {
            lunchMenuPairCount = in.nextInt();
            while(lunchMenuPairCount > 0) {
                lunchMenuPairCount--;
                tempOption = in.next();
                tempOptionValue = in.next();
                Pair pair = new Pair(tempOption, tempOptionValue);
                lunchMenuPairs.add(pair);
            }
            teamCuisinePreferencePairCount = in.nextInt();
            while(teamCuisinePreferencePairCount > 0) {
                teamCuisinePreferencePairCount--;
                tempOption = in.next();
                tempOptionValue = in.next();
                Pair pair = new Pair(tempOption, tempOptionValue);
                teamCuisinePreferencePairs.add(pair);
            }
        }
    }
    private static void print(List<?> resultPairs) {
        for (Object pair : resultPairs) {
            System.out.println(pair);
        }
    }
    public static void main(String[] args){
        List<Pair> lunchMenuPairs = new LinkedList<>();
        List<Pair> teamCuisinePreferencePairs = new LinkedList<>();
        readAndSetParameters(lunchMenuPairs, teamCuisinePreferencePairs);
        List<Pair> result = solve( lunchMenuPairs, teamCuisinePreferencePairs );
        Collections.sort(result);
        print(result);
    }
}

更改

static List<Pair> solve(List<Pair> lunchMenuPairs, List<Pair> teamCuisinePreferencePairs){
    List<Pair> result= null;
    ...

static List<Pair> solve(List<Pair> lunchMenuPairs, List<Pair> teamCuisinePreferencePairs){
    List<Pair> result= new ArrayList<>();
    ...

相关内容

  • 没有找到相关文章

最新更新