Java与循环体内字符串比较

已知 一个数1
还有 一个循环体里面有5个数,例如1,2,2,3,4。
用1和循环体内的不固定的5个数去比较。
相同等于a,不同等于b,还有不同等于c…………
循环体内相同的数等于同一个字母,相当于与1比较然后分类别。
上面例子的结果是:a b b c d
求java写法

img


这个是基本思路,你改一下改一下然后可以输出字母了,如果数组里面的数据是1,你就输出一个a,如果数组数据为2,就输出b,就这么一路下去就好了


    public static void main(String[] args) {
        int[] arr ={1,2,3,3,4,4,5,2};
        int a = 1;
        for (int i = 0; i < arr.length; i++) {
            switch (arr[i]){
                case 1:
                    System.out.println("a");
                    break;
                case 2:
                    System.out.println("b");
                    break;
                case 3:
                    System.out.println("c");
                    break;
                case 4:
                    System.out.println("d");
                    break;
                case 5:
                    System.out.println("e");
                    break;
            }
        }

根据你的题意,字母至多为abcde,且与目标数大小无关,只针对不同。

int[] arr = {1,2,2,5,4};
        int flag = 1;
        String[] str = {"b", "c", "d", "e"};
        int i = 0;
        Map<Integer, String> map = new HashMap<>();
        for (int a : arr){
            if (flag == a){
                map.put(a, "a");
            }else {
                if (!map.containsKey(a)) {
                    map.put(a, str[i++]);
                }
            }
        }
        for (int a : arr){
            System.out.println(map.get(a));
        }

输出结果:a b b c d