Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Error message "java.lang.NoSuchMethodError: Customer.<init>(Ljava/lang/String;D)V " [closed]

Tags:

java

object

class

I keep getting the same error message when running this program. This is what i get:

Exception in thread "main" java.lang.NoSuchMethodError: Customer.<init>(Ljava/lang/String;D)V 
at Customer5.input(Customer5.java:35)<b>---(See below (code) to refer to lines 35 & 7)
at Customer5.main(Customer5.java:7)

Another thing is that the class "Customer" shows a message that says "The type Customer is already defined."

import java.util.*;
public class Customer5 {

    public static void main(String[] args) {


        Customer[] customers=input();//This is line 7
        customers=sort(customers);
        output(customers);
    }


    public static Customer[] input(){

        Scanner input =new Scanner(System.in);
        int n;


        String name;
        double debt;


        System.out.print("Enter number of customers :");
        n=input.nextInt();

        Customer[] customers=new Customer[n];
        for(int i=0; i<n; i++){

            System.out.print("Enter name:");
            name=input.next();

            System.out.print("Enter debt:");
            debt=input.nextDouble();

            customers[i]=new Customer(name, debt);//This is line 35
        }
        return customers;
    }


    public static Customer[] sort(Customer[] customers){

        Customer temp;
        for(int i=0; i<customers.length; i++){

             for(int j=i+1; j<customers.length; j++){

                   if(customers[j-1].debt>customers[j].debt){

                         temp=customers[j-1];
                         customers[j-1]=customers[j];
                         customers[j]=temp;
                   }
             }
        }
              return customers;
    }



     public static void output(Customer[] customers){
            for(int i=0; i<customers.length; i++){
             System.out.println(customers[i].name+"\t" +customers[i].debt);
            }
     }



} 

class Customer{ //this line shows a message that says:The type Customer is already defined

    public String name;
    public Double debt;

    public Customer(String name, double debt){
       this.name=name;
       this.debt=debt;
    }

}

I don't know what to do in order to fix it. I am not very familiar with this type of error message. I'd really appreciate any feedback or comments on how to approach this problem. Thanks!

like image 290
SdlS Avatar asked Mar 26 '14 01:03

SdlS


2 Answers

This Class runs fine for me, issue is there must be some other Customer class in your package or application which doesnt have constructor public Customer(String name, double debt) .

Try clicking Ctrl + Shift + R and search Customer or Press Ctrl + H, search Customer in all java files

like image 129
Javaboy Avatar answered Nov 10 '22 04:11

Javaboy


Tested, it works fine for me.

Find "clear and build" option in your IDE, it should do the trick.


Also make sure, that in your project does not exist other Customer class.

like image 35
libik Avatar answered Nov 10 '22 03:11

libik