当前位置: 首页 > 知识库问答 >
问题:

JFuzzyLogic在Eclipse IDE中给出错误,而代码在另一个IDE中运行良好

耿星雨
2023-03-14

虽然相同的代码在NetBeans IDE中工作,但它在eclipse上给出了这个错误!在运行代码并输入后,我得到了这个错误

线程“main”java.lang.noClassDeffounder异常错误:net/sourceforge/jfuzzylogic/fis在pkt.resturant.(resturant.java:17)在pkt.program.main(program.java:15)由:java.lang.classnotfoundexception:net.sourceforge.jfuzzylogic.fis在java.base/jdk.internal.loader.builtinclassloader.loadclass(builtinclassloader.java:581)在java.base

resturant.java文件

package pkt;

import java.io.File;
import java.net.URISyntaxException;

import net.sourceforge.jFuzzyLogic.FIS;

public class Resturant {
    private FIS fis;
    private double servis;
    private double yemek;

    public Resturant(double servis, double yemek) throws URISyntaxException {
        this.servis = servis;
        this.yemek = yemek;
        File dosya = new File(getClass().getResource("Model.fcl").toURI());
        fis = FIS.load(dosya.getPath(), true);
        fis.setVariable("servis", servis);
        fis.setVariable("yemek", yemek);
        fis.evaluate();
    }

    public Resturant() throws URISyntaxException {
        File dosya = new File(getClass().getResource("Model.fcl").toURI());
        fis = FIS.load(dosya.getPath(), true);
    }

    public FIS getModel() {
        return fis;
    }

    @Override
    public String toString() {
        String cikti = "servis: " + servis + "\nYemek: " + yemek + "\nTur: " + fis.getVariable("tur").getValue();
        return cikti;
    }
}

program.java文件

package pkt;

import java.net.URISyntaxException;
import java.util.Scanner;
import net.sourceforge.jFuzzyLogic.plot.JFuzzyChart;

public class Program {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
                System.out.print("Servis (0-9): ");
        double servis = in.nextDouble();
        System.out.print("Yemek (0-9): ");
        double yemek = in.nextDouble();
        try {
            Resturant r = new Resturant(servis,yemek);
                        System.out.print(r);
        } catch(URISyntaxException e) {
            e.printStackTrace();
        }
    }
}

和JFuzzyLogic文件model.fcl

FUNCTION_BLOCK model

VAR_INPUT
    servis : REAL;
    yemek : REAL;
END_VAR

VAR_OUTPUT
    tur : REAL;
END_VAR

FUZZIFY servis
    TERM kotu := (0,1)(4,0);
    TERM iyi := (1,0)(4,1)(6,1)(9,0);
    TERM mukemmel := (6,0)(9,1);
END_FUZZIFY

FUZZIFY yemek
    TERM kotu := (0,1)(3,1)(6,0);
    TERM lezzetli := (4,0)(9,1);
END_FUZZIFY

DEFUZZIFY tur
    TERM ucuz := (0,1)(20,1)(50,0);
    TERM orta := (40,0)(60,1)(80,0);
    TERM iyi := (70,0)(85,1)(100,0);
    METHOD : COG;
    DEFAULT := 0;
END_DEFUZZIFY

RULEBLOCK kuralblock1
    AND : MIN;
    ACT : MIN;
    ACCU : MAX;
    
    RULE 1 : IF servis IS kotu OR yemek IS kotu THEN tur IS ucuz;
    RULE 2 : IF servis IS iyi THEN tur IS orta;
    RULE 3 : IF servis IS mukemmel AND yemek IS lezzetli THEN tur IS iyi;
    
END_RULEBLOCK

END_FUNCTION_BLOCK

共有1个答案

淳于开畅
2023-03-14

在这一点上,我所能做的就是指出你没有提供的信息,这将告诉我们问题是什么。您的项目有源代码,比如类“restaurant”,但它也有依赖项,比如类“net.sourceforge.jfuzzylogic.fis”。后一个类不包括在您的项目中,它必须被指定为依赖项。有几种方法可以让Eclipse项目指定依赖项,并且必须谨慎地进行。

我们不知道您是如何指定对“net.sourceforge.jfuzzylogic.fis”类的依赖关系的,甚至您是否指定了依赖关系。您可以使用Maven构建项目,这意味着您正在使用“M2E”Eclipse插件。您也可以使用Ant,尽管我对此表示怀疑。您也可能根本没有使用构建系统,这意味着您必须打算将包含该类的jar文件直接存储在项目的子目录中,并指定了对该jar的直接依赖关系。

我们也不知道你是怎么运作这个项目的。您很可能直接在Eclipse中运行它,但我可能错了。

 类似资料:
  • 原因:java.lang.ClassNotFoundException:javax.mail.address

  • 我的firebase函数在开发中运行正常(D),但在生产中给了我以下错误。此外,当我检查firebase functions控制台上的日志时,似乎没有任何活动。就好像函数没有被调用一样。 这里是我的angular应用程序调用函数的代码- 以下是功能- 索引.ts GPublish.ts 在开发和生产中部署功能时,我已经正确地更改了服务帐户密钥和google凭据。 null

  • 我正在试图解决一个关于HashSet设计的问题。 在不使用任何内置哈希表库的情况下设计哈希集。 具体来说,您的设计应包括以下两个功能: add(value):在HashSet中插入一个值 contains(value):返回哈希集中是否存在该值。 移除(值):移除哈希集中的值。如果该值在哈希集中不存在,则不执行任何操作。 例: MyHashSet hashSet=新建MyHashSet();哈希集

  • 当我执行时 在控制台(javascript)中,它通过类名返回元素,但是当我执行时: < code > driver . find elements(by . class name(" jobs-company-card _ _ content-wrapper ")); 结果(元素)是一个空的列表,注意返回

  • 在一个android服务中,我创建了用于执行一些后台任务的线程。 我遇到一个情况,线程需要在主线程的消息队列上发布特定任务,例如。 有没有方法获取主线程的并从我的另一个线程向它发布/?

  • 错误:任务“:app:CompileFlutterBuildDebug”执行失败。 进程“command”d:\flutter\bin\flutter.bat“已完成,退出值为非零%1 > 尝试:使用--stacktrace选项运行以获取堆栈跟踪。使用--info或--debug选项运行以获取更多日志输出。使用--scan运行以获得完整的见解。