Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/349.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
尝试在Java中拆分从用户扫描的字符串_Java_Methods - Fatal编程技术网

尝试在Java中拆分从用户扫描的字符串

尝试在Java中拆分从用户扫描的字符串,java,methods,Java,Methods,我正在构建一个项目,我将从用户那里获取三个输入:名称、ID、GPA。用户应在一行中输入,并用半列分隔;我希望能够将它们作为一行接收,并且能够将它们保存在三个变量中。 我正在应用一种方法,从用户那里获取三个变量。例如:用户将输入名称、Id和GPA,如下所示: 1;Sally;90.5; //in one line separated by ";" 我想能够保存在不同的变量从用户的每个信息。 有人能告诉我怎样才能实现这一点吗 方法如下: private static void addN

我正在构建一个项目,我将从用户那里获取三个输入:名称、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。

这应该可以将输入拆分为;:

String[] input = GPA.split[";"];

在尝试获取值之前,请检查输入数组是否具有预期的大小。

您只需读取一行,然后将其拆分为字符串数组。输入顺序必须为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];
            }
        }
    }

行分隔符是什么?是吗,或者应该是这样,;看看这个,这能回答你的问题吗?如果我这样做了,我将如何将它们保存在不同的变量中?输入将是一个字符串数组。您可以通过以下方式访问值:输入[0]//第一个值输入[1]//第二个值……这回答了问题。但请记住@sally您可能不想将id或gpa存储为字符串:是的,id可以存储字符串,但是jpa可以存储为double