gpt4 book ai didi

java - 如何在Java中获取部分用户输入?

转载 作者:行者123 更新时间:2023-12-01 17:24:45 25 4
gpt4 key购买 nike

我想制作一个java程序,它将获取用户输入的一部分并将其存储起来以便以后使用。我的输入看起来像这样:

Mary market 8 theatre 80 end
John books 45 end

第一个字段表示该人的姓名,然后是一系列费用以及他们捐钱的原因名称。单词结束表示每个人的输入结束。

我的问题是如何将人们的姓名字段及其支出分开,以便我可以输出每个人的平均支出?

最佳答案

这实际上取决于,如果您严格同意输入数据始终具有与示例中相同的格式,那么您可以简单地使用字符串 .split("") 并读取所有内容每行的数字。

示例:

// or any other input, eg: List, BufferedReader, etc
String[] lines = new String[] {
"Mary market 8 theatre 80 end",
"John books 45 end"
};
for (String line : lines) {
String[] raw = line.split(" ");
String name = raw[0];

for (int i = 1; i < raw.length; i += 2) {
if (raw[i].equals("end")) break;
String expenseName = raw[i];
int cost = Integer.parseInt(raw[i+1]);
...
}
}

但如果不是,那么最好使用 RegExp 并查找每行中的所有数字。

示例:

// or any other input, eg: List, BufferedReader, etc
String[] lines = new String[] {
"Mary market 8 theatre 80 end",
"John books 45 end"
};

Pattern p = Pattern.compile("\\d+");
for (String line : lines) {
Matcher m = p.matcher(line);
while(m.find()) {
int cost = Integer.parseInt(m.group());
...
}
}

关于java - 如何在Java中获取部分用户输入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61225084/

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