【问题标题】:Checking user input against information in a .txt file根据 .txt 文件中的信息检查用户输入
【发布时间】:2015-01-11 08:16:20
【问题描述】:

我正在创建一个我们进行货币兑换的项目。其中一个步骤是我必须让用户输入他们想要从美元转换成的货币类型。我必须做一个while循环来检查并确保输入对于文本文件是正确的。

文本文件只有这个

CD 1.05 0.93
MP 0.11 0.095
欧盟 1.554 1.429

所以这个人会进入 CD MP 或 EU 只是不知道如何检查它。使用eclipse,txt文件在项目文件夹中。

public class Communication {
    public String askForCode(){

    String currencyCode = JOptionPane.showInputDialog(null, "We exchange the following Currencies: \n "
            + "CD (Canadian Dollar)\n"
            + "MP (Mexican Peso) \n"
            + "EU (Euro) \n"
            + "Enter the Currency Code"); 

    File myFile = new File("dailyrates.txt");
    while (!currencyCode.equals){

    }
    return currencyCode;

}

我会使用 file.next 行来验证它吗?

【问题讨论】:

  • 所以您的用户将输入CD 1.05 0.93 并且您想查看它是什么货币?阅读每一行
  • 对不起,用户只输入货币代码,数字是汇率。他们只会输入 CD、MP 或 EU

标签: java file validation loops


【解决方案1】:

你可以使用showOptionDialog...

    Object[] options = {"CD",
        "MP",
        "EU"};
    int n = JOptionPane.showOptionDialog(null,
                    "Enter the FROM Currency Code",
                    "From Currency",
                    JOptionPane.YES_NO_CANCEL_OPTION,
                    JOptionPane.QUESTION_MESSAGE,
                    null,
                    options,
                    options[2]);

甚至更严格的showInputDialog...

    Object[] possibilities = {"CD", "MP", "EU"};
    String s = (String) JOptionPane.showInputDialog(
                    null,
                    "Enter the FROM Currency Code",
                    "From Currency",
                    JOptionPane.PLAIN_MESSAGE,
                    (Icon)null,
                    possibilities,
                    "CD");

这会将用户的可用选项限制为您希望他们使用的选项

详情请见How to Make Dialogs

您可以读取文本文件,将值存储在数组ListMap 中,并直接在对话框中使用代码以增加灵活性...

【讨论】:

    【解决方案2】:

    Files.readAllLines(Path, Charset) 会将文件中的行读取到 ArrayList,您可以使用 toArray() 将其更改为字符串数组。您可以使用toPath() 将文件更改为路径。然后,您可以将每行的开头与输入的字符串进行比较,直到找到正确的行。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-04-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-06-02
      • 1970-01-01
      相关资源
      最近更新 更多