Я создаю приложение для 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);
}
ScreenShots:
The imported libraries do not seem to have a problem.
The classes cannot be resolved to a type
Что-нибудь изменится, если вы импортируете отдельные классы вместо пакетов? то есть. import com.fuzzylite.Engine вместо com.fuzzylite. * – Giovanni
Вы сохранили и выполнили автообновление? .... sry – user2504380
@ user2504380 - Да, я попробовал сохранить и автообыскать, но никакого результата. –