2014-11-21 6 views
-8

Я создал два класса приложения, классы 1. счет 2. InVoiceTest, я ввожу класс в счете-фактуре InVoiceTest здесь Класс-фактуруне может найти ошибку в Java

public class InVoice 
    { 
    private String name; 
    private String description; 
    private int quantity; 
     private double price; 

    public InVoice (String n, String d, int q, double p) 
    { 
    name=n; 
     description=d; 
     quantity=q; 
    price=p; 
    } 
    public void set (String n, String d, int q, double p) 
    { 
    name=n; 
     description=d; 
     quantity=q; 
    price=p; 
     } 
     public String getname() 
    { 
    return name; 
    } 

    public String getdescription() 
    { 
    return description; 
    } 
    public int getquantity() 
    { 
    return quantity; 
    } 
     public double getprice() 
    { 
    return price; 
    } 
    } 

и это InVoiceTest класс

import java.util.Scanner; 
    public class InVoiceTest 
    { 
    public static void main (String [] aa) 
    { 
    InVoice object=new InVoice(); 
Scanner obj=new Scanner (System.in); 

System.out.print("Enter Item name: "); 
String name=obj.nextLine(); 

    System.out.print("\nEnter Item description: "); 
    String description=obj.nextLine(); 

    System.out.print("\nEnter quantity: "); 
    int quantity=obj.nextInt(); 

    System.out.print("\nEnter price: "); 
double price=obj.nextDouble(); 

object.set(name,description, quantity, price); 
} 

}

эти оба класса находятся в одном каталоге, и я их компиляции через командную строку, и эта ошибка показывается снова и снова

InVoiceTest.class can not find symbol 
symbol: constructor InVoice() 
location: class InVoice 
InVoice object=new InVoice(); 
+2

'InVoice' не имеет конструктор по умолчанию (' Квитанция об отправке() ') – MadProgrammer

+0

Что это нужно делать с C++? –

ответ

1

Если у вас нет конструктора, Java-компилятор создаст для вас конструктор no-arguments.

Как только вы предоставите конструктор с аргументами, конструктор без аргументов не будет создан компилятором.

Итак, если вы добавите конструктор no-arguments в InVoice (как показано ниже), он должен работать.

public InVoice() { 
} 
+0

да, это сработало, спасибо – aami

+1

@ammi хотя бы принять ответ –

0

Другой способ:

import java.util.Scanner; 
    public class InVoiceTest 
    { 
    public static void main (String [] aa) 
    { 
    InVoice object=new InVoice("abc","efgh",1,1.0); 
//Scanner obj=new Scanner (System.in); 

System.out.printf("%s %s\n", "The Item name is: ", 
       object.getname()); 
//String name=obj.nextLine(); 

    System.out.printf("%s %s\n","The Item description is: ", object.getdescription()); 
    //String description=obj.nextLine(); 

    System.out.printf("%s %d\n","The quantity is: ",object.getquantity()); 
    //int quantity=obj.nextInt(); 

    System.out.printf("%s %s\n","The price is: ",object.getprice()); 
//double price=obj.nextDouble(); 

// object.set(name,description, quantity, price); 
System.out.printf("\n%s:\n\n%s\n", 
      "Updated object", object); 

} 

} 
Смежные вопросы