gpt4 book ai didi

java - 带有 Java 输入行的分隔符

转载 作者:行者123 更新时间:2023-12-04 04:51:35 25 4
gpt4 key购买 nike

希望这对某人来说非常简单,但我似乎无法解决。

尝试使用以下输入:

addperson jsmith,john,smith

到目前为止,我已经使用了两个 Scanner具有不同分隔符的对象,但我无法让它工作。
我不想扫描整行并拆分字符串。
import java.util.Scanner;
import java.util.ArrayList;
public class Delim
{
public static void main(String[] args)
{
ArrayList<String> list = new ArrayList<String>();
Scanner input = new Scanner(System.in);
Scanner inputCommand = new Scanner(System.in);
input.useDelimiter(",");
inputCommand.useDelimiter(" ");
System.out.println("Enter a username: (format username,name, surname)");
list.add(inputCommand.next());
list.add(input.next());
list.add(input.next());
list.add(input.next());
System.out.println("//debug: command " + list.get(0));
printName(list);


}

static void printName(ArrayList arr)
{
System.out.println("username: " + arr.get(1) + "\nname: " + arr.get(2) + "\nsurname: " + arr.get(3));
}
}

最佳答案

您可以使用带有自定义分隔符的单个扫描仪:

input.useDelimiter("[,\\s]");

这使分隔符成为逗号或空格字符。

因此,您的整体计划将是:
import java.util.Scanner;
import java.util.ArrayList;
public class Delim
{
public static void main(String[] args)
{
ArrayList<String> list = new ArrayList<String>();
Scanner input = new Scanner(System.in);
input.useDelimiter("[,\\s]");
System.out.println("Enter a username: (format username,name,surname)");
list.add(input.next());
list.add(input.next());
list.add(input.next());
list.add(input.next());
System.out.println(list);
System.out.println("//debug: command " + list.get(0));
printName(list);


}

static void printName(ArrayList arr)
{
System.out.println("username: " + arr.get(1) + "\nname: " + arr.get(2) + "\nsurname: " + arr.get(3));
}
}

关于java - 带有 Java 输入行的分隔符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17356213/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com