正規表現について学んでいますが、Javaチュートリアルを読んだあとではうまくいきません。正規表現:100個のエラー
このプログラムの形式で入力プログラムを取ることになっている。
A)のDD DD一緒 B)05から13 Cを減算する)02から03
を追加し(DDを返すを追加します+または - )dd = answer
私がこれを設定するのは、progに3つのマッチのいずれかを見つけようとすることです。ユーザーが "bye"を入力するまでこれを続けます。一致するものがなければ、ユーザーに再度入力を求める必要があります。
ここに私のコードです!正確に100のエラーがあります。 :/ 誰でも構文を助けることができれば、本当に感謝しています!
import java.util.*;
import java.util.regex.Pattern;
import java.util.regex.Matcher;
class Calculator {
public static void main(String[] args){
Scanner imp = new Scanner(System.in);
System.out.println("yes> ");
String s = imp.nextLine();
if (s.equals("bye")) {
System.exit(0);
}
while (true) {
Pattern p = Pattern.compile(s); //compile string, check for formats
Matcher x = p.matcher(\badd\b\s\d\d\s\d\d\s\btogether\b); //format add 12 12 together
Matcher y = p.matcher(\bsubtract\b\s\d\d\s\d\d\s\bfrom\b); //format subtract 05 from 13
Matcjer z = p.matcher(\badd\b\s\d\d\s\bto\b\s\d\d); //format add 02 to 03
boolean b = p.matches;
boolean l = x.matches;
boolean i = y.matches;
boolean g = z.matches;
if (l.equals(true))
return (\d\d " + " \d\d " = " \d\d+\d\d);
else if (i.equals(true))
return (\d\d " + " \d\d " = " \d\d-\d\d);
else if (g.equals(true))
return (\d\d " + " \d\d " = " \d\d+\d\d);
}
}
}
コンパイラは100の後にエラーを出力しなくなります。もっと多くのものがあります。 –
LOL。素晴らしいニュースキャメロン。 – mdegges
良いニュースは、1つの間違いが多くのコンパイラエラーを生成する可能性があるため、おそらく100 *本物の*エラーよりもはるかに少ないことです。 –