java - 设计一个用户命令和多个输入
问题描述
我是一个 JAVA 初学者,我做了一些研究。事实证明,没有这样的方法来处理这个问题。我被分配设计一个带有多个数据输入的提示命令,只有一个扫描仪对象。
现在,我已经实现了以下目标:
- 设置用于保存 NimPlayer 对象的数组。
- 设置 NimPlayer 类以创建唯一的 NimPlayer 对象。
设置计数器,用作索引。
public static void main(String[] args) { Scanner in = new Scanner(System.in); System.out.print('$'); String input = in.next(); // initialize an array NimPlayer [] playerList = new NimPlayer[10]; // create a position in the array int addUserCount = 0; if (input.equals("addplayer")) { String userName = in.next(); String familyName = in.next(); String givenName = in.next(); addUserCount +=1; playerList[addUserCount] = new NimPlayer(userName, familyName, givenName); } public class NimPlayer { String userName; String familyName; String givenName; public NimPlayer(String userName,String surName, String givenName) { this.userName = userName; this.familyName = surName; this.givenName = givenName; } public void setUserName(String userName) { this.userName = userName; } public void setFamilyName(String familyName) { this.familyName = familyName; } public void setGivenName(String givenName) { this.givenName = givenName; } public String getUserName() { return userName; } public String getfamilyName() { return familyName; } public String getGivenName() { return givenName; } }
目标是这样设计:
addplayer userName,familyName,givenName
所以,这就是我使用 next() 来识别第一个单词的原因,而空格是默认分隔符。
我不知道下一步该怎么做。我应该怎么做才能添加使用“,”分隔输入的功能。
任何帮助表示赞赏。
解决方案
您可以使用 Scanner.nextLine() 读取行。这是一个示例,您如何在一行中键入“用户名、姓氏、给定名称”并由 String.split(",") 分割。
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
String line = s.nextLine();
String[] splittedLine = line.split(",");
for(int i = 0; i < splittedLine.length; i++) {
System.out.printf("splitted line: %d. %s \n", i, splittedLine[i].trim());
}
}
输入:
name, surename, username
输出:
splitted line: 1. name
splitted line: 2. surename
splitted line: 3. username
推荐阅读
- python - 如何使用 openpyxl 增量添加数据?
- google-chrome - 谷歌自动完成 API
- webpack - 加载动态组件的问题:关键依赖:依赖的请求是一个表达式
- microsoft-graph-api - 将 Microsoft Graph 响应映射到 Java POJO - API 返回值与 MSGraph 模型枚举值不匹配
- r - 字符列聚合 grop by and paste
- mongodb - 使用 docker 的 MongoDB Compass
- c# - 使用语句排序时的预期排序行为是什么
- c - 锁之前/之后的代码总是串行执行?
- java - 如何重置偏移值以重新读取kafka主题
- c# - C# - 使用嵌套类来组织和访问大型类对象,其中子类可以访问父对象中的 DataTable