1

例: 誰かが映画パスを注文します: ユーザーが入力します: 17.50 でテイク 2 のチケット 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]);

           }
4

2 に答える 2

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;
}
于 2012-11-10T22:48:17.750 に答える
1

正規表現がこの仕事に最適なツールのようです (どんなに見た目が悪くても):

(\\d+) tickets for (.*) at (\\d{1,2})[.:](\\d{2})
于 2012-11-10T22:47:38.203 に答える