퍼지 로직을 사용하여 Android 애플리케이션을 만들고 있습니다. jar 라이브러리를 lib 폴더에 추가하여 가져 왔습니다.외부 jar 파일에서 가져온 클래스의 미확인 유형 오류
그러나 이러한 라이브러리를 참조하는 클래스는 "형식을 확인할 수 없습니다"라는 오류를 보여줍니다..
나는 해결책을 시도, classes from android project library not resolved in android project. 그러나 그것은 나를 위해 작동하지 않았고 clean-refresh-build 방법 역시 유용하지 않았습니다.
코드 :
import java.sql.Savepoint;
import com.fuzzylite.*;
import com.fuzzylite.defuzzifier.*;
import com.fuzzylite.factory.*;
import com.fuzzylite.hedge.*;
import com.fuzzylite.imex.*;
import com.fuzzylite.norm.*;
import com.fuzzylite.norm.s.*;
import com.fuzzylite.norm.t.*;
import com.fuzzylite.rule.*;
import com.fuzzylite.term.*;
import com.fuzzylite.variable.*;
import android.app.Activity;
import android.os.Bundle;
import android.widget.EditText;
import android.widget.RatingBar;
import android.widget.SeekBar;
import android.widget.TextView;
private void fuzzy(){
Engine engine = new Engine();
engine.setName("Mamdani-Tip-Calculator");
InputVariable inputVariable1 = new InputVariable();
inputVariable1.setEnabled(true);
inputVariable1.setName("FoodQuality");
inputVariable1.setRange(1.000, 10.000);
inputVariable1.addTerm(new Trapezoid("Bad", 0.000, 1.000, 3.000, 7.000));
inputVariable1.addTerm(new Trapezoid("Good", 3.000, 7.000, 10.000, 11.000));
engine.addInputVariable(inputVariable1);
InputVariable inputVariable2 = new InputVariable();
inputVariable2.setEnabled(true);
inputVariable2.setName("Service");
inputVariable2.setRange(1.000, 10.000);
inputVariable2.addTerm(new Trapezoid("Bad", 0.000, 1.000, 3.000, 7.000));
inputVariable2.addTerm(new Trapezoid("Good", 3.000, 7.000, 10.000, 11.000));
engine.addInputVariable(inputVariable2);
OutputVariable outputVariable = new OutputVariable();
outputVariable.setEnabled(true);
outputVariable.setName("Tip");
outputVariable.setRange(0.000, 30.000);
outputVariable.fuzzyOutput().setAccumulation(new AlgebraicSum());
outputVariable.setDefuzzifier(new Centroid(200));
outputVariable.setDefaultValue(Double.NaN);
outputVariable.setLockValidOutput(false);
outputVariable.setLockOutputRange(false);
outputVariable.addTerm(new Gaussian("AboutTenPercent", 10.000, 2.000));
outputVariable.addTerm(new Gaussian("AboutFifteenPercent", 15.000, 2.000));
outputVariable.addTerm(new Gaussian("AboutTwentyPercent", 20.000, 2.000));
engine.addOutputVariable(outputVariable);
RuleBlock ruleBlock = new RuleBlock();
ruleBlock.setEnabled(true);
ruleBlock.setName("");
ruleBlock.setConjunction(new AlgebraicProduct());
ruleBlock.setDisjunction(new Maximum());
ruleBlock.setActivation(new Minimum());
ruleBlock.addRule(Rule.parse("if FoodQuality is Bad and Service is Bad then Tip is AboutTenPercent", engine));
ruleBlock.addRule(Rule.parse("if FoodQuality is Bad and Service is Good then Tip is AboutFifteenPercent", engine));
ruleBlock.addRule(Rule.parse("if FoodQuality is Good and Service is Bad then Tip is AboutFifteenPercent", engine));
ruleBlock.addRule(Rule.parse("if FoodQuality is Good and Service is Good then Tip is AboutTwentyPercent", engine));
engine.addRuleBlock(ruleBlock);
}
스크린 샷 : 당신이 jfuzzylite.jar 파일을 가져온
The imported libraries do not seem to have a problem.
The classes cannot be resolved to a type
패키지 대신 단일 클래스를 가져 오면 어떤 변화가 있습니까? 즉. com.fuzzylite 대신 com.fuzzylite.Engine을 가져 오십시오. * – Giovanni
저장하고 자동 빌드 했나요? .... sry – user2504380
@ user2504380 - 예, 저장 및 자동 빌드를 시도했지만 결과가 없습니다. –