例如: 有人订购了一些电影通行证: 用户输入:获得2张17.50的3张门票 如何从所输入的字符串中提取所购票证的数量,了解所选的电影以及总成本。
非常感谢任何帮助。
String Mac1
System.out.println("Enter num of tickets, movie & (at) ticket price:");
Mac1 = input.nextLine();
String Mov1[]= Mac1.split(", ");
for (int i = 0; i < Mov1.length; i++)
{
System.out.print(Mov1[i]);
}
答案 0 :(得分:2)
使用正则表达式更合适:
Matcher m = Pattern.compile("(\\d+) tickets for (.*) at (.*)").matcher(Mac1);
if (m.matches()) {
int tickets = Integer.parseInt(m.group(1));
String movie = m.group(2);
double cost = Double.parseDouble(m.group(3));
double total = tickets * cost;
}
答案 1 :(得分:1)
似乎正则表达式是工作的最佳工具(无论它看起来有多糟糕):
(\\d+) tickets for (.*) at (\\d{1,2})[.:](\\d{2})