2016-03-27 7 views
-2

log cat Uygulamamda fuzzylite kullanmam gerekiyor. Örneğin, giriş iyi ve mükemmel seviyelerde zayıf hizmettir. Çıktı düşük, orta, yüksek seviyeli uçtur. İşte kod. "Ne yazık ki belirsiz hata yaptı" aldım. Fuzzylite için yeniyim. inputEditText.getText() nedenle boş bir dize döndürür ve"ne yazık ki bulanık durdu" fuzzylite nasıl kullanılacağını Android'de fuzzylite nasıl kullanacağım

ser = Double.parseDouble(inputEditText.getText().toString());

bir yükseltir: dikkatle günlüğünü kontrol ederseniz, sorunun aşağıdaki satırı olduğunu fark edecektir

public class MainActivity extends Activity { 

    EditText inputEditText; 
    TextView output; 
    Double ser; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 

     inputEditText = (EditText) findViewById(R.id.service); 

     output = (TextView) findViewById(R.id.textView1); 

     ser = Double.parseDouble(inputEditText.getText().toString()); 
     fuzzy(); 
    } 

    public void fuzzy(){ 

     Engine engine = new Engine(); 
     engine.setName("simple-dimmer"); 

     InputVariable service= new InputVariable(); 
     service.setName("service"); 
     service.setRange(0.000, 1.000); 
     service.addTerm(new Triangle("poor", 0.000, 0.250, 0.500)); 
     service.addTerm(new Triangle("good", 0.250, 0.500, 0.750)); 
     service.addTerm(new Triangle("excellent", 0.500, 0.750, 1.000)); 
     engine.addInputVariable(service); 

     OutputVariable tip = new OutputVariable(); 
     tip.setName("Power"); 
     tip.setRange(0.000, 1.000); 
     tip.setDefaultValue(Double.NaN); 
     tip.addTerm(new Triangle("LOW", 0.000, 0.250, 0.500)); 
     tip.addTerm(new Triangle("MEDIUM", 0.250, 0.500, 0.750)); 
     tip.addTerm(new Triangle("HIGH", 0.500, 0.750, 1.000)); 
     engine.addOutputVariable(tip); 

     RuleBlock ruleBlock = new RuleBlock(); 
     ruleBlock.addRule(Rule.parse("if service is poor then tip is HIGH", engine)); 
     ruleBlock.addRule(Rule.parse("if service is good then tip is MEDIUM", engine)); 
     ruleBlock.addRule(Rule.parse("if service is excellent then tip is LOW", engine)); 
     engine.addRuleBlock(ruleBlock); 

     engine.configure("", "", "Minimum", "Maximum", "Centroid"); 
     engine.setInputValue("service",ser); 
     engine.process(); 
     output.setText(String.format("0.3f", engine.getOutputValue("Output"))); 
    } 

    public boolean onCreateOptionsMenu(Menu menu) { 
     // Inflate the menu; this adds items to the action bar if it is present. 
     getMenuInflater().inflate(R.menu.main, menu); 
     return true; 
    } 
} 
+0

Bu postayı okumak ve ardından sorgunuzu, logcat'i dahil etmek üzere düzenlemek isteyebilirsiniz. http://stackoverflow.com/questions/23353173/unales-myapp-has-stopped-how-can-i-solve-this –

+0

Cevabınız için teşekkür ederiz. günlük kedi ekledim – luna

cevap

0

bana bu sorunu çözmeye yardımcı FormatException.

-1
RuleBlock ruleBlock = new RuleBlock(); 
ruleBlock.addRule(Rule.parse("if service is poor then Power is HIGH", engine)); 
ruleBlock.addRule(Rule.parse("if service is good then Power is MEDIUM", engine)); 
ruleBlock.addRule(Rule.parse("if service is excellent then Power is LOW", engine)); 
engine.addRuleBlock(ruleBlock); 


tip should changed to Power 



output.setText(String.format("0.3f", engine.getOutputValue("Output"))); 
should changed to 
output.setText(String.format("0.3f", engine.getOutputValue("Power")));