一个简单的问题!!
我有一个类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都连在一起了,中间加个换行符试试??