[問題] 可以新增使用者的程式一定要配合資料庫嗎!?
各位前輩大家好,我是初學Java幾個月的新手
我想自己寫一個小小使用者建立的程式來練習一下
過程中突然發現到一個問題
就是如果我要建立使用者的話 一定要使用資料庫嗎!?
以下是我寫的練習程式 我做了一個可以在文字列打使用者名稱
(目前只有做新增名稱 希望以後可以擴充到其他基本資料)
然後按確定紐以後可以新增使用者 然後有一個下拉式選單
裡面有已經新增的使用者,而我面臨到的問題是
如果我在確定的Button的動作那邊設定只要按了就建立一個新的使用者
可是我沒辦法預期會有多少筆資料輸入
所以只能employee = new Employee("使用者名稱");
可是當我要建立第二個使用者的時候 卻發現第一個使用者employee.Name
已經被第二個新使用者洗掉了(問到這邊不曉得各位前輩知道我的問題點在哪嗎 @@?)
所以我就聯想到資料庫,如果寫這類的程式,一定要用資料庫建立嗎!?
謝謝各位前輩~
import java.awt.*;
import java.awt.event.*;
class Employee{
private String EmployeeNumber;
private String Name;
private String CellPhoneNumber;
private String HomePhoneNumber;
private float Salary;
private int WorkTime_Hour;
public Employee(String Name){
this.Name=Name;
}
public void setName(String Name){
this.Name=Name;
}
public void setEmployeeNumber(String EmployeeNumber){
this.EmployeeNumber=EmployeeNumber;
}
public void setCellPhoneNumber(String CellPhoneNumber){
this.CellPhoneNumber=CellPhoneNumber;
}
public void setHomePhoneNumber(String HomePhoneNumber){
this.HomePhoneNumber=HomePhoneNumber;
}
public void setSalary(float Salary){
this.Salary=Salary;
}
public void setWorkTime_Hour(int WorkTime_Hour){
this.WorkTime_Hour=WorkTime_Hour;
}
public String getName(){
return this.Name;
}
public String getEmployeeNumber(){
return this.EmployeeNumber;
}
public String getCellPhoneNumber(){
return this.CellPhoneNumber;
}
public String getHomePhoneNumber(){
return this.HomePhoneNumber;
}
public float getSalary(){
return this.Salary;
}
public int getWorkTime_Hour(){
return this.WorkTime_Hour;
}
}
public class Test implements ActionListener,ItemListener{
Frame frmFrame;
Label lb;
TextField tf,tf2;
Button btnUp,btnDown;
Choice ch;
Employee employee;
public Test(){
//employee = new Employee(tf.getText());
frmFrame = new Frame("按鈕");
frmFrame.setLayout(new GridLayout(3,2));
lb = new Label("請在下面輸入新增使用者名稱");
tf = new TextField("請輸入使用者名稱");
tf2= new TextField();
tf.selectAll();
ch=new Choice();
btnUp = new Button("確定");
btnUp.setActionCommand("Right");
btnUp.addActionListener(this);
btnDown = new Button("結束");
btnDown.setActionCommand("Exit");
btnDown.addActionListener(this);
ch.addItemListener(this);
frmFrame.add(lb);
frmFrame.add(tf);
frmFrame.add(btnUp);
frmFrame.add(btnDown);
frmFrame.add(ch);
frmFrame.add(tf2);
frmFrame.pack();
frmFrame.setVisible(true);
}
我是標記!!!
public void actionPerformed(ActionEvent e){
String cmd = e.getActionCommand();
int choiceIndex;
choiceIndex = 0;
if (cmd.equals("Right")){
employee = new Employee(tf.getText());
ch.insert(employee.getName(),choiceIndex);
choiceIndex ++;
}
else{
System.exit(0);
}
}
public void itemStateChanged(ItemEvent e){
tf2.setText(employee.getName());
}
public static void main(String[] args){
new Test();
}
}
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 203.64.91.241
推
09/02 13:05, , 1F
09/02 13:05, 1F
推
09/02 13:44, , 2F
09/02 13:44, 2F