java - 如何让用户输入字符串,然后对数组进行排序以根据输入的代码显示字符串

标签 java project

我正在准备我的第一个 CIS 期末考试,但我尝试创建的程序遇到了一些问题。我希望程序提示用户输入 2 个字符的代码,并对字符串数组进行排序。根据输入的代码,它将显示相应的数组。

我不断遇到一些编译错误,并尝试了不同的设置方法。我想我忽略了一个更简单的概念..

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 秒)

它永远不会让我在输入中输入任何内容来对任何内容进行排序。任何形式的指导将不胜感激,因为我对此相当陌生,并且仍在尝试理解它。

最佳答案

这里使用 map 是更好的方法。

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

public interface Map Key,Value

An object that maps keys to values. A map cannot contain duplicate keys; each key can map to at most one value.

This interface takes the place of the Dictionary class, which was a totally abstract class rather than an interface.

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;
    }
}

关于java - 如何让用户输入字符串,然后对数组进行排序以根据输入的代码显示字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55961060/

相关文章:

java - FileInputStream 没有读取到正确的值?

java - 跨线程和逻辑的同步

cmake - 对依赖的 CMake 子目录使用 project()

c - 如何告诉 VSCode 在哪里可以找到头文件和源文件

Java - MaskFormatter

javascript - 如何将我的数据从 javascript 传递到 servlet

java - 查询java.nio.Buffer读/写(翻转)状态

unity-game-engine - 在unity 3d中销毁游戏对象

c++ - 理解面向对象代码的工具和方法

node.js - 如何构建 Node/Angular/Socket.io 项目?