首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

一个简单的有关问题!

2012-02-20 
一个简单的问题!!我有一个类StaffData然后当我要加值进去的时候我怎么样将两个人的信息分两行显示packaget

一个简单的问题!!
我有一个类StaffData   然后当我要加值进去的时候我怎么样将两个人的信息分两行显示
package   tma02q3jan2007;
//29   Mar   07
import   java.util.*;

public   class   StaffData   {
        //   instance   variables,   if   any
        Vector   fultimeHolder;//collection   to   hold   fulltimestaff   data
        Vector   partimeHolder;//collection   to   hold   parttimestaff   data
        FullTimeStaff   fts;//create   fulltimestaff  
        PartTimeStaff   pts;   //create   parttimestaff
    public   StaffData()   {
    this.fultimeHolder=new   Vector(50);//will   be   enough   if   50   ful_time   staff
    this.partimeHolder=new   Vector(50);//will   beenough   if   50   part_time   staff
        //   Java   statements,   if   any
    }

    public   double     getTotalSalary(String   category){
        /*   This   method   should   return   the   total   salary   of   either   all   part   time   staff   or
          all   full   time   staff,   depending   on   the   input   argument   */
          if(category.equals( "FULLTIMESTAFF ")){
                  double   totalSalaryFul=0;
                  Enumeration   fulEnu=fultimeHolder.elements();
                  FullTimeStaff   tempful=new   FullTimeStaff( " ", " ", " ",0,false)   ;
                  while(fulEnu.hasMoreElements())
                  {tempful=(FullTimeStaff)fulEnu.nextElement();
                  totalSalaryFul=totalSalaryFul+tempful.getSalary();
                  }
                 
                  return   totalSalaryFul;
          }
               
                else   if(category.equals( "PARTTIMESTAFF ")){
                double   totalSalaryPar=0;
                Enumeration   parEnu=partimeHolder.elements();
                    PartTimeStaff   temppar=new   PartTimeStaff( " ", " ", " ",0);
                while(parEnu.hasMoreElements())
                  {temppar=(PartTimeStaff)parEnu.nextElement();
                  totalSalaryPar=totalSalaryPar+temppar.getSalary();
                  }
               


                  return   totalSalaryPar;
                }
                else{   return   0;}
         
    }

    public   String   getDetails(String   category){
/*   This   method   should   return   the   details   of   either   all   part   time   staff   or   all
                full   time   staff,   depending   on   the   input   argument   */
                //showing   fulltimestaff   details
                if(category.equals( "FULLTIMESTAFF ")){
        Enumeration   fulEnu=fultimeHolder.elements();
                  String   fulDetails= " ";
                  FullTimeStaff   tempful=new   FullTimeStaff( " ", " ", " ",0,true);
                  while(fulEnu.hasMoreElements())
                  {tempful=(FullTimeStaff)fulEnu.nextElement();
                  fulDetails=fulDetails+tempful.toString();
                  }
                return   fulDetails;
                }
               
                //showing   parttimestaff   details
                else   if(category.equals( "PARTTIMESTAFF ")){
                Enumeration   parEnu=partimeHolder.elements();
                  String   partDetails= " ";
                  PartTimeStaff   temppar=new   PartTimeStaff( " ", " ", " ",0);
                while(parEnu.hasMoreElements())
                  {temppar=(PartTimeStaff)parEnu.nextElement();
                  partDetails=partDetails+temppar.toString();
                  }
                 
                return   partDetails;
                }
                else  
                return   "error ";
  }

  public   void   createPartTimeStaffRecord(String   department,   String   name,   String   id,double   hsalary){
 
        //   This   method   should   record   the   details   of   a   part   time   staff
        pts=new   PartTimeStaff(department,name,id,hsalary);//Create   parttimestaff   object   here


        partimeHolder.addElement(pts);
      }

  public   void   createFullTimeStaffRecord(String   department,   String   name,   String   id,double   salary,   boolean   isManager){
 
        //   This   method   should   record   the   details   of   a   full   time   staff
        fts=new   FullTimeStaff(department,name,id,salary,isManager);
        fultimeHolder.addElement(fts);//Create   fulltimestaff   object   here
  }
}

---------------------------------
然后当我要加值进去的时候我怎么样将两个人的信息分两行显示
package   tma02q3jan2007;

public   class   TestStaffData   {

public   static   void   main(String   args[]){

StaffData   data=new   StaffData();

data.createFullTimeStaffRecord( "IT ", "James ", "S93456I ",3000,true);
data.createFullTimeStaffRecord( "IT ", "Brown ", "S93456I ",4000,false);


        System.out.println( " "+data.getDetails( "FULLTIMESTAFF "));
      //}

}
       
        }
IT     S93456I   James       3,000.00         **Manager**   IT     S93456I   Brown     4,000.00      

我现在只得到一行,不知道要在哪里改?是在Emueration   那里还是别的地方?


[解决办法]
public String getDetails(String category)
{
……
while (fulEnu.hasMoreElements())
{
tempful = (FullTimeStaff) fulEnu.nextElement();
fulDetails = fulDetails + tempful.toString();
////////////在String中加入换行符
fulDetails+= "\n ";
////////////////////////////////
}
return fulDetails;

因为你把对象的String都连在一起了,中间加个换行符试试??

热点排行