2013-10-16 1 views
0

여기에 급여 프로그램이 있으며 Employee 클래스에 객체를 추가하고 싶습니다. 현재 Employee 클래스와 관련된 emp 객체를 정의하고 있습니다. 스크립트에서 STOP 명령을 입력 할 때까지 객체를 동적으로 만들려는 경우 어떻게해야합니까? 또한 일단 완료되면 Employee 클래스와 관련된 모든 객체를 어떻게 인쇄 할 수 있습니까? 미리 감사드립니다.가변 개수의 객체를 만들고 자바의 모든 객체를 표시합니다.

import java.util.Scanner; 

class PayrollProgram 
{ 


public static void main(String[] args) 
{ 
    Scanner scan = new Scanner(System.in); 

    List<Employee> employees = new ArrayList<>(); 

    while (!emp.name.equals("STOP")) 
    { 
    Employee emp = new Employee(); 

    System.out.print("Employee's Name: "); 
    emp.name = scan.next(); 

    if(emp.name.equals("STOP")) 
     { 
      System.out.printf("The Application is STOPPING......"); 
     break; 
     } 

    System.out.print("Enter hourly wage: $ "); 
    emp.wage = scan.nextDouble(); 
    while (emp.wage < 0) 
    { 
     System.out.printf("Please Enter a Positive Number! \n"); 
     System.out.print("Enter hourly wage: $ "); 
     emp.wage = scan.nextDouble(); 
    } 

    System.out.print("Hours Worked in Week: "); 
    emp.hours = scan.nextDouble(); 
    while (emp.hours < 0) 
    { 
     System.out.printf("Please Enter a Positive Number! \n"); 
     System.out.print("Hours Worked in Week: "); 
     emp.hours = scan.nextDouble(); 
    } 

    employees.add(emp); 
    emp.printEmployee(); 

    } 
    for(Employee emp : employees) 
     { 
     System.outprintln(emp.name); 
     } 
} 

} 

답변

1

모든 직원을 보유하는 데이터 구조 (일반적으로이 경우 목록)를 유지하십시오. 각 루프에서 새 직원을 만들고 목록에 추가합니다. 나중에 모든 것을 인쇄 할 수 있습니다.

List<Employee> employees = new ArrayList<>(); 

while (!emp.name.equals("STOP")) { 
Employee emp = new Employee(); 
// read all the data from input 

employees.add(emp); 
} 

for(Employee emp : employees) { 
System.out.println(emp.name); 
} 
+0

실행할 때 "기호를 찾을 수 없습니다"오류가 발생합니다. 목록을 신고해야합니까? – AwayFromMyDesk

+0

코드를 사용하여 게시물을 편집하십시오. 코드를 보지 않고 말할 수 없습니다. –

+0

수정 됨. 감사. – AwayFromMyDesk

관련 문제