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

为什么我会在Java中得到这个错误?线程“main”java.lang.error中的异常:未解决的编译问题

束雅达
2023-03-14

“main”java.lang.error线程中的异常:未解决的编译问题:linearequationproblem无法解析为linearequationproblem无法解析为linearequationproblem无法解析为linearequationproblem.Main(LineArequationProblemRedo.java:86)中的类型“

import java.util.Scanner;
public class lineequation {
    private double a;
    private double b;
    private double c;
    private double d;
    private double e;
    private double f;

    public void lineequation(double a, double b, double c, double d, double e, double f) {
        this.a = a;
        this.b = b;
        this.c = c;
        this.d = d;
        this.e = e;
        this.f = f;
    }
    public double getA(){
        return this.a;
    }
    public double getB(){
        return this.b;
    }
    public double getC(){
        return this.c;
    }
    public double getD(){
        return this.d;
    }
    public double getE(){
        return this.e;
    }
    public double getF(){
        return this.f;
    }
    public boolean isSolvable(){
        if(this.a * this.d - this.b * this.c == 0) return false;
        return true;
    }
    public double getX(){
        if(isSolvable()) return ((e * d) - (b * f))/((a * d) - (b * c));
        return -1;
    }
    public double getY(){
        if(isSolvable()) return ((a * f) - (e * c))/((a * d) - (b * c));
        return -1;
    }

    public static void main(String []args){
        Scanner input = new Scanner(System.in);
        System.out.println("Enter a, b, c, d, e, f one at a time starting with a. ");
        double []in = new double[6];
        for(int l = 0; l < 6; l++){
            in[l] = input.nextDouble();
        }
        lineequation test = new lineequation(in[0], in[1], in[2], in[3], in[4], in[5]);
        while(true){

            System.out.println("Type in a-f to show what you have entered OR 'progress' to progress with the script.");
            String t = input.next();

            if(t.equals("progress")) break;
            else if(t.equals("a")) System.out.println(test.getA());
            else if(t.equals("b")) System.out.println(test.getB());
            else if(t.equals("c")) System.out.println(test.getC());
            else if(t.equals("d")) System.out.println(test.getD());
            else if(t.equals("e")) System.out.println(test.getE());
            else if(t.equals("f")) System.out.println(test.getF());
            else System.out.println("Error, please enter a valid input. ");
        }

        while(true){
            System.out.println("To show the output of either x or y, enter 'x' or 'y' or type 'quit' to end the script.");
            String output = input.next();
            if(output.equals("quit")) break;

            try{
                if(!test.isSolvable()) throw new Exception();
                if(output.equals("x")) System.out.println(test.getX());
                else if(output.equals("y")) System.out.println(test.getY());
                else System.out.println("Error, please enter a valid input. ");
            }catch (Exception e){
                System.out.println("The equation has no solution.");
                break;
            }
        }
    }
}

共有1个答案

何承
2023-03-14

我想你在爪哇完全是新手。一个很好的起点是Java教程,然后转到Oracle Java教程

这段代码无法编译,存在以下问题:

>

  • 类名为linequement,构造函数名为linearequationproblem,这是不允许的。在Java中,类名和构造函数的名称应该相同,因为构造函数是创建类实例和初始化成员变量的特殊方法。

  •  类似资料: