2011-06-21 29 views
0
import java.io.*; 
class hostel 
{ 
    public byte ch; 
    BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); 
    public short rollno=0; 
    private byte year; 
    private int mfee,refee,cafee; 
    protected String name=" "; 
    private String branch,gen; 
    hostel()throws Exception 
    { 

      System.out.println("\t\t\tHOSTEL MANAGEMENT SOFTWARE"); 
      System.out.println("\n\n\t1.New Registration\n\t2.Login\n\t3.Exit"); 
      System.out.println("\n\n\tEnter your choice"); 
      ch=Byte.parseByte(br.readLine()); 
    } 
    public void stu_details()throws Exception 
    { 
     System.out.println("\t\t"+"*__STUDENT DETAILS__*"); 
     System.out.println("Enter Students RollNo: "); 
     rollno=Short.parseShort(br.readLine()); 
     System.out.println("Enter Students Name: "); 
     name=br.readLine(); 
     System.out.println("Enter Branch name: "); 
     branch=br.readLine(); 
     System.out.println("Year: "); 
     year=Byte.parseByte(br.readLine()); 
     System.out.println("Gender: "); 
     gen=br.readLine(); 
    } 
    public void hos_fees()throws Exception 
    { 
     System.out.println("\t\t"+"*__FEE DETAILS__*"); 
     System.out.println("Room Rent: "); 
     refee=Integer.parseInt(br.readLine()); 
     System.out.println("Mess fee: "); 
     mfee=Integer.parseInt(br.readLine()); 
     System.out.println("Caution fee(1 time): "); 
     cafee=Integer.parseInt(br.readLine()); 
    } 
    public void putdetails() 
    { 
     System.out.println("\t\t\tHOSTEL MANAGEMENT SOFTWARE");   
     System.out.println("\n\nRoll No: " + rollno); 
     System.out.println("Name: " + name); 
     System.out.println("Gender: " + gen); 
     System.out.println("Branch: " + branch); 
     System.out.println("Year: " + year); 
     System.out.println("\n\n\t\t"+"*__FEE DETAILS__*"); 
     System.out.println("Room Rent: " + refee); 
     System.out.println("Mess fee: " + mfee); 
     System.out.println("Caution Deposit: " + cafee); 


    } 

    public static void main(String args[])throws Exception 
    { 

     int n,opt,k=0,i=0; 
     hostel [] stu = new hostel[10]; 
     hostel stud = new hostel(); 
     opt=stud.ch; 
     BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); 
     for(;;) 
     { 
      switch(opt) 
      { 
       case 1: 
        System.out.println("\t\t\tHOSTEL MANAGEMENT SOFTWARE"); 
        for(i=0;i<10;i++) 
        { 
         if((stu[i].name)==null) 
         { 
         break; 
         } 
        stu[i].stu_details(); 
        stu[i].hos_fees(); 
        } 
        break; 
       case 2: 
        System.out.println("\t\t\tHOSTEL MANAGEMENT SOFTWARE"); 

        System.out.println("Enter Student's Roll No"); 
        n=Integer.parseInt(br.readLine()); 
        for(i=0;i<10;i++) 
        { 
     //    if(n==stu[i].rollno) 
         { 
          k++; 
          break; 
         } 
        } 
        if(k==1) 
        { 
     //    stu[n].putdetails(); 
        } 
        else 
        System.out.println("Enter a valid Roll no"); 
        break; 
       case 3: System.exit(0); 
      } 
     } 

    } 
} 
+0

私はあなたがコレクションフレームワーク、btwに興味があるかもしれないと思います。 –

+0

あなたは私たちの仕事をより簡単にするためにNullPointerExceptionがスローされるところを教えてくれるでしょう。:) – Nivas

答えて

2

であなたが

hostel [] stu = new hostel[10]; 

配列を初期化示しオブジェクトの配列によって、クラス変数にアクセスすると、それはちょうどあなたがのそれぞれをinitilizeする必要がnullを参照する10 hostelのための参照を作成しますそれらたとえば

hostel[0] = new hostel(); 
1

Javaでは、クラス型の配列を作成しても個々のオブジェクトは作成されません。したがって、あなたは次のようなことをする必要があります:

hostel [] stu = new hostel[10]; 
for (int i = 0; i < hostel.length; i++) { 
    stu[i] = new hostel(); 
} 
+0

ありがとうございました。 –

0

最初に、クラスは常に大文字で始める必要があります。 第二には、あなたの行に、NullPointerExceptionがを引き起こすことができる唯一のことは、STU [i]を== nullの

です。

関連する問題