請各位幫我看看我的JAVA程式還有沒有可以改善的地方

這是父類別


package javahomework;

public abstract class Emp {

private int y;
private int z;
private String id;

public void setId(String i) {
y = 0;
if (i.trim().length() == 0 || Integer.parseInt(i) < 0) {<br>System.out.println("ID號碼輸入錯誤,請重新輸入");
} else {
id = i;
y = 1;
}
}

public String getId() {
return id;
}
private String name;

public void setName(String j) {
z = 0;
if (j.trim().length() == 0) {
System.out.println("員工姓名輸入錯誤,請重新輸入");
} else {
name = j;
z = 1;
}
}

public String getName() {
return name;
}

public abstract int getSalary();
}



子類別一

package javahomework;

public class Secretary extends Emp {
private int x ;

public int getX() {
return x;
}

public void setX(int x) {
this.x = x;
}


public int getSalary() {
return x;
}
}



子類別二

package javahomework;

public class Business extends Emp {
private int y ;

public int getY() {
return y;
}

public void setY(int y) {
this.y = 20000+(y/10);
}

public int getSalary(){
return y;
}
}



子類別三

package javahomework;

public class PartTimeWorkers extends Emp {
private int z ;

public int getZ() {
return z;
}

public void setZ(int z) {
this.z = z*100;
}
public int getSalary(){
return z ;
}

}



主程式

package javahomework;

import java.util.*;

public class JavaHomework {

public static void main(String[] args) {
Scanner a = new Scanner(System.in);
Secretary sec = new Secretary();
Business bu = new Business();
PartTimeWorkers pt = new PartTimeWorkers();
sec.setId("1");
sec.setName("Mary");
sec.setX(20000);
bu.setId("2");
bu.setName("Peter");
System.out.println("請輸入業務的總業績");
int sal = a.nextInt();
bu.setY(sal);
pt.setId("3");
pt.setName("Cool");
System.out.println("請輸入工讀生的工作時數");
int sala = a.nextInt();
pt.setZ(sala);
int sum = 0;
String[][][] emp = {
{{sec.getId(), sec.getName(), String.valueOf(sec.getSalary())}},
{{bu.getId(), bu.getName(), String.valueOf(bu.getSalary())}},
{{pt.getId(), pt.getName(), String.valueOf(pt.getSalary())}}
};
System.out.println("本月薪資報表" + "\n" + "編號" + "\t" + "姓名" + "\t" + "薪水");
for (String[][] i : emp) {
for (String[] j : i) {
for (String k : j) {
System.out.print(k + "\t");
}
System.out.println("");
}
}
for(int i=0 ; i<emp.length ; i++){
for(int j=0 ; i<emp[i].length ; j++){
for(int k=2 ; i<=emp[j].length ; i++){
sum+=Integer.parseInt(emp[i][j][k]);
}
}
}
System.out.println("============================"+"\n"+"本月給銀行之薪水共計"+sum+"元");
}
}



以上是這次的作業

花了一些時間才寫出程式來

想要了解哪邊還可以有改進的空間或是哪邊可以做優化

望請大家不吝指教!
文章關鍵字
吼吼吼~~ wrote:
這是父類別以上是這次...(恕刪)

最致命的缺陷就是你的變數命名
巨乳は夢が詰まってるから大きい、貧乳はみんなに夢を与えているから小さいんだ!

kaworucloud wrote:
最致命的缺陷就是你的...(恕刪)

我了解了

這的確是一個很明顯的缺點

下次我會改進
類別名稱不用縮寫, 盡量使用易讀的名字..(Emp?)
變數名稱也不要用i,j,k,x,y,z這種沒意義的名字, 不得已用了也要註解..
函數名稱同上, 甚麼getX, getY...看了一頭霧水..
輸入跟輸出可以切出來用個別函數處理.. 要改介面比較容易.
物件建立跟消滅可以用constructor destructor





我最喜歡用嘴巴寫程式了...XD
文章分享
評分
評分
複製連結

今日熱門文章 網友點擊推薦!