J'essaie d'en apprendre davantage sur les expressions régulières, mais je ne le fais pas aussi bien après avoir lu le didacticiel Java.Expressions régulières: 100 erreurs
Ce programme est censé prendre un imput au format:
a) ajouter dd dd ensemble b) soustraire 05 de 13 c) ajouter 02-03
et retourner le dd (+ ou -) dd = answer
La (mauvaise) façon dont j'ai configuré ceci est d'avoir le prog essayer de trouver l'une des 3 correspondances, et continuer à le faire jusqu'à ce que l'utilisateur entre "bye". S'il n'y a pas de correspondance, il suffit d'inviter à nouveau l'utilisateur pour une entrée.
Voici mon code! Avec exactement 100 erreurs. :/ Si quelqu'un peut m'aider avec la syntaxe, ce serait vraiment apprécié!
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);
}
}
}
Le compilateur cesse d'émettre des erreurs après 100. Il peut y avoir plus :) –
LOL. bonne nouvelle cameron. – mdegges
Les bonnes nouvelles sont qu'une erreur peut générer de nombreuses erreurs de compilation, donc vous avez probablement moins de 100 * véritables * erreurs :) –