首先開始一個專案時,我們應該先了解整個專案的架構,有什么需求需要我們去創建等等,然后就可以開始利用封裝的方式,創建我們所要運用的方法了,
如:我們需要對作業人員進行增刪改查,
1.首先可以創建一個人員的底層類,用來定義ID,姓名,年齡,工資等等:

然后構建無參和有參構造,創建get,set方法,以方便后面進行呼叫實作資料的獲取和改寫,
2.再創建一個方法類,用來存放功能實作需要運用的方法,
如:我先創造一個陣列來呼叫剛剛我們所創建的底層類:
ArrayList<Employee> employees=new ArrayList<Employee>();
這里我們可以通過employees這個物件來對資料進行添加或者對陣列里面的資料改寫和獲取,
(1)如實作添加的功能:
System.out.println("請輸入需要添加的雇員的職位:");
System.out.println("1(無職位)");
Scanner jch=new Scanner(System.in);
int a=jch.nextInt();
switch (a){
case 1:
System.out.println("職位分配為無");
System.out.println("請輸入雇員姓名");
String c=jch.next();
System.out.println("請輸入雇員年齡");
int d=jch.nextInt();
System.out.println("請輸入雇員工資");
int e=jch.nextInt();
Employee f=new Employee();
f.setId(++count);
f.setName(c);
f.setAge(d);
f.setSalary(e);
employees.add(f);
System.out.println("人員添加成功");
break;
(2)修改的功能:
boolean flag=false;
Scanner scanner=new Scanner(System.in);
System.out.println("請輸入你要修改人的ID");
int id=scanner.nextInt();
for (int i=0;i<employees.size();i++){
Employee employee1=employees.get(i);
if (employees.get(i).getId()==id){
System.out.println("輸入你要修改的姓名");
String name=scanner.next();
System.out.println("輸入你要修改的年齡");
int age=scanner.nextInt();
System.out.println("輸入你要修改的工資");
double salary=scanner.nextInt();
employee1.setId(id);
employee1.setName(name);
employee1.setAge(age);
employee1.setSalary(salary);
employees.set(i,employee1);
flag = true;
break;
}
}
if (flag){
System.out.println("修改成功");
}else {
throw new TeamException("沒有這個員工,重新輸入");
}
(3)洗掉的功能(這里注意我們可以通過ID洗掉,因為姓名可能相同但是ID一定會不同):
System.out.println("請輸入你要洗掉資訊的ID");
int id=scanner.nextInt();
for (int i=0;i<employees.size();i++){
if (employees.get(i).getId()==id){
employees.remove(i);
for (i = id; i <= employees.size(); i++) {
employees.get(i - 1).setId(employees.get(i - 1).getId() - 1);
}
}
}
注意:洗掉后要修改你所洗掉ID后ID的號碼,所以我們還需遍歷修改一遍,
(4)查找的功能(就是對陣列進行遍歷):
for (int i=0;i<employees.size();i++){
Employee s = employees.get(i);
System.out.println(s);
}
注意:你們輸出出來可能會輸出地址值,要么對底層類的toString進行改寫,改寫成你想輸出的樣式,要么老老實實一個個get出來,如employees.get(i).getName;
如果后續你所添加的人員想要有不同的定義,無需在Employ類里面添加,可以運用繼承創建一個新的底層類,繼承上一級employ,
如:

如果是特別的功能還可以運用動態的方式進行改寫,主要是增加代碼的可復性和降低冗余性還有我們所運用的方便等等,合理運用即可,
3.如何實作回圈里面再次回圈,并且一個個退出或者直接退出,
boolean a=true;
while(a){
int b=scanner.nextInt();
switch(b){
case 1:
boolean a2=true;
while(a2){
int b2=scanner.nextInt();
switch(b2){
case 1:
a2=false;
break;
case 2:
break;
case 3:
break;
}
}
case 2:
break;
case 3:
a=false;
break;
}
}
通過設定一個物件為true的方式,在達到了你某種需求后,將物件變為false,就可以終止這個回圈,回到上一級回圈里,
總結:
ArrayList是我們會一直所運用到的;可以注意當我們要運用前面所保存的資料時,不要再new一個新的物件,里面是沒有任何資料的,我們可以通過前面所創建的物件直接get出來,while回圈這種方式注意代碼的先后順序,這樣也會導致回圈出錯,還有賦值物件的注意,不要退出回圈時賦值錯誤,
完成一個專案,我們首先應該明確整個專案的流程;清除我們需要構建哪些功能,需要先搭建哪些底層框架;再然后當功能完成后,我們再把他們一一串流起來,不要走一步看一步這種思想,會導致代碼的冗余性增加,錯誤性也會增強,可能也會出現前后矛盾等等,第一次完成簡單的專案都是迷茫的,相信以后多完成和運用,我們都會變成大佬!
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/404083.html
標籤:其他
