السلام عليكم
لدي برنامج يقوم بحجز الباصات والمستخدم يحجز في الرحلة عدة باصات
وعندما يقوم المستخدم بحجز عدد الباصات فان البرنامج يقوم بطرح العدد من المجموع الكلي للباصات
و عندما ينتهي الحجز فان البرنامج يقوم باعادة وجمع العدد المحجوز مع اخر رقم للمجموع
ولكن والمشلكة لدي أنه يزيد فوق المجموع الكلي وكـأني لم أقم بأي حجز
مثال للتوضيح :
الشركة X لديها 50 باص
حجزت 20 باص : مجموع الباقي = 30 باص .
عندما ينتهي الحجز وادخل عدد الباصات - 20 باص -
20 + 30 المفروض يكون الناتج = 50 .. ولكنه يظهر لي 70
استخدمت HashMap
البرنامج عبارة عن 2 Frame و انقل البيانات بينها - طبعا بدون استخدام - DataBase -
public class Fleet implements Inventory {
private String Id = "";
private String Model = " ";
private int seats = 0;
private int count = 0;
private String make = "";
private final String newLine = "\n";
public Fleet() {
}
public Fleet(String Id, String Model, int seats, int count, String make) {
this.Id = Id;
this.Model = Model;
this.seats = seats;
this.count = count;
this.make = make;
}
public String getId() {
return Id;
}
public String getModel() {
return Model;
}
public int getSeats() {
return seats;
}
public String getMake() {
return make;
}
public void Mutators() {
}
public String Accessors() {
return null;
}
@Override
public String toString( ) {
StringBuilder sb = new StringBuilder();
sb.append("ID : ").append(this.getId()).append(newLine);
sb.append("Model : ").append(this.getModel()).append(newLine);
sb.append("Seats : ").append(this.getSeats()).append(newLine);
sb.append("Counts : ").append(this.getCount()).append(newLine);
sb.append("Make : ").append(this.getMake()).append(newLine);
return sb.toString();
}
@Override
public int getCount() {
return count;
}
@Override
public void addFleet(int count) {
this.count += count;
}
@Override
public void deleteFleet(int count) {
if ((this.count - count) > 0) {
this.count = this.count - count;
} else {
System.out.println("Negative inventory number error.");
}
}
}
class 2
public class UserPage extends javax.swing.JFrame {
static Fleet currentShirt ;
public static List<FleetTransaction> transactions = new ArrayList<>();
private void rent(String id, String model, String type, int count) {
transactions.add(FleetTransaction.createTransection(id, model, type, count));
for (FleetTransaction transaction : transactions) {
if (AdminPage.getMap().containsKey(transaction.getID())) {
currentShirt = AdminPage.getMap().get(transaction.getID());
} else {
System.out.println("Error: Invalid part number");
}
currentShirt = AdminPage.getMap().get(transaction.getID());
switch (type) {
case "return":
currentShirt.addFleet(transaction.getCounts());
break;
case "rent":
currentShirt.deleteFleet(transaction.getCounts());
System.out.println("Rent");
break;
}
}
}
class 3
public class FleetTransaction {
private String ID = "";
private String companyName = "";
private String transectionType = "";
private int count;
public FleetTransaction() {
}
public FleetTransaction(String transectionID, String companyName, String transectionType, int count) {
this.ID = transectionID;
this.companyName = companyName;
this.transectionType = transectionType;
this.count = count;
}
public static FleetTransaction createTransection(String transectionID, String companyName, String transectionType, int count) {
FleetTransaction newTransaction = new FleetTransaction(transectionID, companyName, transectionType, count);
return newTransaction;
}
public String Accessors() {
return null;
}
public String getID() {
return ID;
}
public String getCompanyName() {
return companyName;
}
public String getTransectionType() {
return transectionType;
}
public int getCounts() {
return count;
}
}
واذا أردتم مزيد من التوضيح أخبروني عن النقطة الغير مفهومة
بس باقي لي النقطة هذه وأنتهي من المشرووع :yuppie:
:thinking: صدع رااسي :thinking:


