首页 > 解决方案 > 尝试拆分从用户扫描的 Java 中的字符串

问题描述

我正在构建一个项目,我将从用户那里获取三个输入:姓名、ID、GPA。用户应在一行中输入它们,以半列分隔";" 我希望能够将它们作为一行接收并能够将它们保存在三个变量中。我正在应用一种方法,我将从用户那里获取三个变量。例如:用户将输入姓名、ID 和 GPA,如下所示:

1;Sally;90.5;       //in one line separated by ";"

我希望能够将用户的每个信息保存在不同的变量中。有人可以告诉我如何实现吗?

这是方法:

private static void addNewStudent() {
    System.out.println("enter ID;Name;Gpa; ");
    String info = scanner.nextLine();

注意:我正在尝试在我的项目中应用 CSV。

标签: javamethods

解决方案


您只需读取一行,然后将其拆分为字符串数组。输入顺序必须是 ID -> NAME -> GPA:

    private static void addNewStudent() {
        Scanner scanner = new Scanner(System.in);
        System.out.println("enter ID;Name;Gpa; ");
        String info = scanner.nextLine();
        if (info != null) {
            String[] infoArray = info.split(",");
            if (infoArray.length == 3) {
                String id = infoArray[0];
                String name = infoArray[1];
                String gpa = infoArray[2];
            }
        }
    }

推荐阅读