0

I constantly get the following error when running this code:

"Exception in thread "main" java.lang.Error: Unresolved compilation problems: linearequationproblem cannot be resolved to a type linearequationproblem cannot be resolved to a type at linearequationproblemredo.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
  • 1
    Your class is called lineequation, but you try to create an instance of a class linearequationproblem which seems to not exist. But this error should be pointed out already be Eclipse. Commented Aug 16, 2020 at 15:00

2 Answers 2

2

A class can be instantiated via the constructor . so you need to make linearequationproblem as a constructor like below.

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 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;
            }
        }
    }
}
Sign up to request clarification or add additional context in comments.

Comments

0

I think you are completely new in Java. A good starting point is Java Tutorials and then move on to Oracle Java Tutorials

This code wont compile and these are the problems:

  1. The class name is lineequation and the constructor name is linearequationproblem, which is not allowed. In Java class name and constructor name should be same, since constructor is a special method for creating the instance of the class and initializing the member variables.

  2. Line 56: java linearequationproblem test = new linearequationproblem(in[0], in[1], in[2], in[3], in[4], in[5]); You are trying to create and instance of linearequationproblem but this type (Class) does not exists.

  3. private double f;` That backtick is not legit and will fail to compile, since this is not a correct syntax.

You can refer the docs above for more details about Java. Enjoy Learning !

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.