Ich brauche javaparser
zu unkorrekte Form der for-loop
in das richtige Formular zu analysieren. Meine Schleife hat 5 Argumente:Wie man eine For-Schleife mit Javaparser analysieren?
- Index der Schleife (i);
- Anfangswert des Index. Es kann ein anderer Wert (z. B. k) oder ein int-Wert (10) sein.
- Wert der Schleifeninvariante (3);
- Bedingung der Invariante (>, <,> = oder < =);
- Operation, die nach jedem Durchlauf der Schleife ausgeführt wird (- oder + wird in i-- oder i ++ geändert).
Ich habe zwei Klassen erstellt. Der erste ist mit der unkorrekten Schleife und der zweite ist mit der richtigen Schleife (nach dem Parsen). Ich entschied mich zuerst, diese zwei Klassen zu schreiben, um zu prüfen, wie der Code vor und nach dem Parsing aussehen sollte, und dann den Code für das Parsing zu schreiben. Aber ich bin mir nicht sicher, ob es ein guter Anfang ist und ich meine For-Loop-Korrektur dargestellt habe. Klären: Ich möchte den Code von Class.java zu Classtered.java analysieren.
Die erste Klasse mit uncorrect Schleife:
public class Class {
public static void main(String[] args) {
test1();
test2();
}
public static void test1() {
FOR(i, 10, 3, >, -);
System.out.println("FOR(i, 10, 3, >, -) test passed");
}
public static void test2() {
FOR(j, 0, 10, <=, +);
System.out.println("FOR(j, 0, 10, <=, +) test passed");
}
}
Die zweite Klasse mit der richtigen Schleife:
public class ClassAltered {
public static void main(String[] args) {
test1();
test2();
}
public static void test1() {
for(int i=10; i > 3; i--);
System.out.println("FOR(i, 10, 3, >, -) test passed");
}
public static void test2() {
for(int j=0; j<= 10; j++);
System.out.println("FOR(j, 0, 10, <=, +) test passed");
}
}
Um zu verdeutlichen, versuchen Sie, Code plötzlich in Java zu parsen? – MartinByers
Ich möchte den Code von Class.java zu Classtered.java analysieren. Aber zuerst möchte ich diese zwei Klassen richtig schreiben. – Viola
Die erste Sache, die ich sagen werde ist: Nennen Sie nie eine Klasse "Klasse", aus zwei Gründen, erstens beschreibt nicht, was es tut/darstellt, zweitens gibt es bereits eine java.lang.Class, so kann Verwirrung verursachen. – MartinByers