2012-02-28 110 views
1

這是我的班聘用過的員工Java數組來存儲一個類的多個對象

public class Employe { 

public int noEmploye; 
public String nom; 
public int departement; 
public double salaireBrut; 
public double impots; 
public double rrgc; 
public double assEm; 
public double salaireNet; 
public double SalaireAnnuel; 
public double suplemetaire; 

}

這是我的主要

 Employe emp = new Employe(); 
    emp.noEmploye=123; 
    emp.nom= superman; 
    emp.departement= 4; 

如何把emp.noEmploye,emp.nom,EMP排列在排列中的行列

使輸出類似[123,超人,4]

感謝幫助我

弗蘭克

+1

這並沒有多大意義,數組只能容納相同類型的對象......所以一個數組只能包含整數,只能包含字符串等......但不是兩者的混合。 – 2012-02-28 01:29:07

+0

但是數組列表? – FrankSharp 2012-02-28 01:30:06

+0

您將擁有一個ArrayList(或Array)的員工。你在問如何製作一個數組? – 2012-02-28 01:32:19

回答

2

toString功能,爲您的Employee類做任何格式你想,然後簡單地System.out.printlnEmployee任何實例。

如果你寫例如

public String toString() { 
    return "[%d, %s, %d]".format(noEmployee, nom, department); 
} 

,然後創建這些對象的集合,你會得到像

[[123, superman, 4], [1234, batman, 5]] 
+0

但是如果我有5個僱員...... – FrankSharp 2012-02-28 01:30:55

+1

@Frank:你只需要在'Employee'類中重寫'public String toString()'方法,並且執行_once_。 – 2012-02-28 01:43:26

+0

@FrankSharp你應該閱讀[本教程](http://docs.oracle。com/javase/tutorial/java/javaOO /),也許[這個](http://docs.oracle.com/javase/tutorial/collections/intro/index.html)。 – Irfy 2012-02-28 01:45:22

0

好輸出,你可以使用Object[]存儲不同類型的對象,但這通常不是一個好主意。在Java中,作爲一種靜態類型的語言,通常是具有單一類型的數組。也許你應該重新考慮你打算構建你的程序的方式。

1

如果你必須把所有的項目在一個數組,你應該做的是這樣的:

Object[] items = {item1, item2, ...}; 

你能想到的輸出的一切是這樣的:

public String toString(){ 
    StringBuilder b = new StringBuilder(); 
    b.append('['); 
    for(int i = 0; i < items.length; i++){ 
     if(i != 0) b.append(", "); 
     b.append(items[i]); 
    } 
    b.append(']'); 
} 

然而,這通常是不是一個好主意。原始數據類型將轉換爲包裝數據類型(即整數,而不是整數)。這會降低效率。另外,對於閱讀你的代碼的人來說,這只是簡單的混淆。

如果你要考慮一堆數值,你可能會考慮是一樣的東西:你的基本數據類型

private static final int NO_EMPLOYEE_OFFSET = 0, DEPARTMENT_OFFSET = 1, ...; 
int[] data; 
String field1; 
Point field2; 
... 

這將避免使用包裝。但是,它不會允許您將所有字段存儲在數組中。

如果您選擇這樣做,請將我提供的toString I與Irfy提供的一起組合。

相關問題