の正当な形式を正しい形式に解析するには、javaparser
を使用する必要があります。私のループには5つの引数があります:Javaparserを使ってforループを解析するには?
- ループのインデックス(i);
- インデックスの初期値。それは他の値(例えば、k)でもint値(10)でもかまいません。
- ループの値invariant(3);
- 不変式(>、<、> =または< =)の条件。
- 操作、各ループ実行後に実行されます( - または+はi--またはi ++に変更されます)。
私は2つのクラスを作成しました。最初のものは不正なループであり、2番目のものは正しいループ(解析後)です。私は最初にこの2つのクラスを書いて、解析の前後にどのようにコードを見て、次に解析するためのコードを書くべきかを調べました。しかし、私はそれが良いスタートであるとは確信していません、私はfor-loopの修正を表しました。 明確化:Class.javaからClassAltered.javaへのコードを解析したいと思います。
正しくなループを備えたファーストクラス:
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");
}
}
正しいループとの第二のクラス:
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");
}
}
明確にするために、突然コードをjavaに解析しようとしていますか? – MartinByers
Class.javaのコードをClassAltered.javaに解析したいと思います。しかし、最初はこの2つのクラスを正確に記述したいと思います。 – Viola
私が言う最初のことは、2つの理由から、クラス "クラス"を決して呼び出さないということです。まず、それが何を表しているか記述していない、2番目にはすでにjava.lang.Classがあります。 – MartinByers