0
import java.io.*;
import java.util.*;

public class CompanyDetail {

    int Id;
    String name;
    String department;
    static String companyname="Maruti Suzuki";

    CompanyDetail(int ID,String Name,String Dept) {
        Id=ID;
        name=Name;
        department=Dept;
    }

    public void getdata() {
        try {
            InputStreamReader in = new InputStreamReader(System.in);
            BufferedReader br = new BufferedReader(in);
            System.out.println("Employee Id :");
            Id = Integer.parseInt(br.readLine());
            System.out.println("Employee name :");
            name= br.readLine();
            System.out.println("Employee Department :");
            department=br.readLine();
            System.out.println("Company is :"+companyname);
        }
        catch(Exception e) {
        }
    }
    public void printdata() {
        System.out.println("Employee Id is :"+Id);
        System.out.println("Employee Name is :"+name);
        System.out.println("Employee Department is :"+department);
        System.out.println("Company is :"+companyname);
    }
}

public class CompanyUse {
    public static void main(String[] args)  {
        CompanyDetail cd = new CompanyDetail(int Id,String name,String department);
        cd.getdata();
        cd.printdata();
    }
}    

オブジェクトを作成するとメインブロックでエラーが発生します..eclipsは、コンストラクターCompanyDetail()が未定義であることを教え続けます....コンストラクターがないと、出力にnull値が返されます..助けてください..i Javaの学習を始めたばかりです...よろしくお願いします:)

4

1 に答える 1

2

既定のコンストラクター (空のパラメーター リストを使用) は、他のコンストラクターを作成しない場合にのみ、コンパイラーによって自動的に作成されます。あなたの場合CompanyDetail(int ID,String Name,String Dept)、それは自動的に生成されませんでした。デフォルトのコンストラクタを自分で書くことができます:

CompanyDetail() {}

また、いくつかのヒントがあります:

  • このコードはコンパイルされていません。すべてのエラーを修正してください - Java コンパイラは、コードの何が問題なのかを判断するのが得意です (:
  • 空の catch ブロックを使用することはありません。
  • Java で一般的な命名規則に従うようにしてください。
于 2013-04-03T08:30:41.520 に答える