Как заставить пользователя ввести строку, а затем отсортировать массив для отображения строки в зависимости от введенного кода - PullRequest
0 голосов
/ 03 мая 2019

Я работаю над своим первым финалом в СНГ и сталкиваюсь с некоторыми проблемами с программой, которую я пытался создать. Я хочу, чтобы программа предложила пользователю ввести двухсимвольный код и отсортировать массив строк. В зависимости от того, какой код введен, он отобразит соответствующий массив.

Я продолжаю сталкиваться с некоторыми ошибками компиляции и пробовал разные способы их настройки. Я думаю, что упускаю из виду одну из более простых концепций ..

package finalproject;
import java.util.Scanner;

public class FinalProject {
    static Scanner sc = new Scanner(System.in);
    String chargeback = sc.nextLine();

    public static void main(String[] args) {

        System.out.println("Enter the chargeback code : ");
    }
    String[] code = new String[10]; {
        code [0] = "Unathourized online purchase";
        code [1] = "Merchandise not receieved";
        code [2] = "Not as described";
        code [3] = "Inocrrect Amount";
        code [4] = "Credit not received";
        code [5] = "Paid by other means";
        code [6] = "Cancelled Reccuring";
        code [7] = "Liability Shift";
        code [8] = "EMV Fallback";
        code [9] = "EMV counterfit";

        switch (chargeback) {
        case "UO":
            System.out.println(code[0]);
            break;
        case "MN":
            System.out.println(code[1]);
            break;
        case "ND":
            System.out.println(code[2]);
            break;
        case "IA":
            System.out.println(code[3]);
            break;
        case "CV":
            System.out.println(code[4]);                                                                          
            break;                                                                                                
        case "PM":                                                                                                
            System.out.println(code [5]);                                                                         
            break;                                                                                                
        case "CR":                                                                                                
            System.out.println(code[6]);                                                                          
            break;                                                                                                
        case "LS":                                                                                                
            System.out.println(code[7]);                                                                          
            break;                                                                                                
        case "EF":                                                                                                
            System.out.println(code[8]);                                                                          
            break;                                                                                                
        case "EC":                                                                                                
            System.out.println(code[9]);                                                                          
            break;                                                                                                
        }
    }
}

Когда я запускаю программу, она просто отображает: Введите код возврата: СТРОИТЬ УСПЕШНО (общее время: 0 секунд)

Он никогда не позволяет мне вводить что-либо во входные данные для сортировки. Буду признателен за любые указания, поскольку я довольно новичок в этом и все еще пытаюсь понять это.

1 Ответ

0 голосов
/ 03 мая 2019

Здесь лучше использовать карту.

https://docs.oracle.com/javase/8/docs/api/java/util/Map.html

открытый интерфейс Ключ карты, значение

Объект, который отображает ключи на значения. Карта не может содержать дубликаты ключей; каждая клавиша может соответствовать максимум одному значению.

Этот интерфейс занимает место класса Dictionary, который был полностью абстрактным классом, а не интерфейсом.

public class FinalProject {
    public static void main(String[] args) {

        Map<String, String> codeMap = initMap();

        Scanner sc = new Scanner(System.in);
        System.out.print("Enter the chargeback code : ");
        String chargeback = sc.nextLine();
        System.out.println(codeMap.get(chargeback));
    }

    private static Map<String, String> initMap()
    {
        // ---- init of code mapping.
        Map<String, String> codeMap = new HashMap<String,String>();
        codeMap.put("UO","Unathourized online purchase");
        codeMap.put("MN","Merchandise not receieved");
        codeMap.put("ND","Not as described");
        codeMap.put("IA","Inocrrect Amount");
        codeMap.put("CV","Credit not received");
        codeMap.put("PM","Paid by other means");
        codeMap.put("CR","Cancelled Reccuring");
        codeMap.put("LS","Liability Shift");
        codeMap.put("EF","EMV Fallback");
        codeMap.put("EC","EMV counterfit");
        // ----
        return codeMap;
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...