Tags:

Main ผมเอามาแบบย่อๆนะครับ ผมต้องการเอา qpn คือ array ที่ผมสร้างขึ้นมาแล้วมีข้อมูลในนั้นอยู่แล้ว
ผมต้องการเอา array นั้นมาเข้า loop เช็ค ว่าข้อมูลนั้นเป็นจริงหรือเท็จ ถ้าเป็นจริง ก็แสดงผลออกมา

ผมทำโปรแกรมคิวคล้ายๆธนาคารครับ

code ด้านล่าง ผมเขียนไม่ได้เลยครับเฉพาะ Main นะ ผมงงๆ
{syntaxhighlighter brush:java;}
for (int i = 0; i < qpn.length; i++) {
qpn[i] = new qpn;
if(qpn[i] == true {
}
}

}

{/syntaxhighlighter}

คือคลาส Officeline
{syntaxhighlighter brush:java;}
package Mini;

public class Officeline {

private boolean Deposit;
private boolean Withdrawal;
private boolean Status;

    public Officeline(boolean Deposit, boolean Withdrawal){
        this.Deposit = Deposit;
        this.Withdrawal = Withdrawal;
    }
public boolean isDeposit() {
    return Deposit;
}
public void setDeposit(boolean deposit) {
    this.Deposit = deposit;
}
public boolean isWithdrawal() {
    return Withdrawal;
}
public void setWithdrawal(boolean withdrawal) {
    this.Withdrawal = withdrawal;
}
    public boolean isStatus() {
    return Status;
}
public void setStatus(boolean Status) {
    this.Status = Status;
}
    }

{/syntaxhighlighter}

คือคลาส ProcessBank
{syntaxhighlighter brush:java;}
import javax.swing.JOptionPane;

public class ProcessBank {
private int qNumber=0;
private QpNumber[] qpn = new QpNumber[10];
private Officeline[] ofl = new Officeline[3];

public int getqNumber() {
    return qNumber;
}

public void setqNumber(int qNumber) {
    this.qNumber = qNumber;
}

public void addqNumber() {
        if (qNumber<10){
    this.qNumber++;
    }
        else {
            setqNumber(10);
        }
    }

public void setqpn(boolean stDeposit, boolean stWithdrawal) {
        if (qNumber<10){
            qpn[getqNumber()] = new QpNumber(getqNumber(),stDeposit,stWithdrawal);      
            } 
        else {
            JOptionPane.showMessageDialog(null, "ERORR !\nQueue Full");

            }
    }
public QpNumber getqpn(int n) {
      return qpn[n];
    }

    public void setOfficeline(int count ,boolean stDeposit, boolean stWithdrawal) {

            ofl[count] = new Officeline(stDeposit,stWithdrawal); 

    }

{/syntaxhighlighter}

คือคลาส QpNumber
{syntaxhighlighter brush:java;}
public class QpNumber {

private int qNumber;
private boolean stDeposit;
private boolean stWithdrawal;


public QpNumber(int qNumber, boolean stDeposit, boolean stWithdrawal) {
    super();
    this.qNumber = qNumber;
    this.stDeposit = stDeposit;
    this.stWithdrawal = stWithdrawal;
}
public int getqNumber() {
    return qNumber;
}
public void setqNumber(int qNumber) {
    this.qNumber = qNumber;
}
public boolean isStDeposit() {
    return stDeposit;
}
public void setStDeposit(boolean stDeposit) {
    this.stDeposit = stDeposit;
}
public boolean isStWithdrawal() {
    return stWithdrawal;
}
public void setStWithdrawal(boolean stWithdrawal) {
    this.stWithdrawal = stWithdrawal;
}

}
{/syntaxhighlighter}

Get latest news from Blognone
By: overbid
ContributorAndroidRed HatUbuntu
on 24 November 2014 - 00:21 #766296

mำไมต้องมี qpn[i] = new qpn; ครับ เข้าใจว่าตัดทิ้งน่าจะได้ละ หรือใช้ enhanced for loops

{syntaxhighlighter brush: java}
private void displayQue(boolean[] qpn) {
for (boolean value : qpn) {
if (value) {
// Display somthing
}
}
}
{/syntaxhighlighter}

By: mr_tawan
ContributoriPhoneAndroidWindows
on 24 November 2014 - 03:52 #766310
mr_tawan's picture

ก่อนอื่น coding style นี่ทำเอาผมมึนไปเกือบสิบนาทีกว่าจะรู้ว่ามันจะเป็น java 555

จากนั้นก็

qpn[i] = new qpn;

น่าจะผิดครับ qpn ไม่ใช่ type ใช่ไหม ?

จากนั้นก็ ผมเดาว่า qpn ไม่ใช่ boolean[] น่าจะเป็น QpNumber มั้ง ? มันก็เลยเอาไปเทียบกับ boolean ตรง ๆ ไม่ได้น่ะครับ ลองหาดูว่าจะใช้เมมเบอร์ตัวไหนนะ (อาจจะเป็น qpn[i].isDeposit() หรืออะไรก็แล้วแต่)


  • 9tawan.net บล็อกส่วนตัวฮับ