Delete OOP/Java/Lab/Practice_question.java
This commit is contained in:
parent
a178d96e2a
commit
db0518545a
@ -1,126 +0,0 @@
|
||||
// Online Java Compiler
|
||||
/*interface product
|
||||
{
|
||||
void buy(int num);
|
||||
}
|
||||
class genproduct implements product
|
||||
{
|
||||
int quan;
|
||||
genproduct(int n)
|
||||
{
|
||||
quan=n;
|
||||
}
|
||||
public synchronized void buy(int num)
|
||||
{
|
||||
if(quan<num)
|
||||
{
|
||||
System.out.println("Erretysuor");
|
||||
}
|
||||
else{
|
||||
System.out.println(num+" in start "+quan);
|
||||
quan=quan-num;
|
||||
System.out.println("succesfull "+quan);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
class inventory<T extends product> extends Thread
|
||||
{
|
||||
T obj;
|
||||
int num;
|
||||
inventory(T obj,int num)
|
||||
{
|
||||
this.obj=obj;
|
||||
this.num=num;
|
||||
}
|
||||
public void run()
|
||||
{
|
||||
obj.buy(num);
|
||||
}
|
||||
}
|
||||
class Mainclass
|
||||
{
|
||||
public static void main(String[] args) {
|
||||
genproduct buyer1 =new genproduct(15);
|
||||
inventory<genproduct> t1=new inventory(buyer1,2);
|
||||
inventory<genproduct> t2=new inventory(buyer1,5);
|
||||
// obj.start();
|
||||
t1.start();
|
||||
t2.start();
|
||||
|
||||
|
||||
}
|
||||
}*/
|
||||
class BankAccount {
|
||||
private int balance;
|
||||
private int accountNumber;
|
||||
|
||||
public BankAccount(int accountNumber, int initialBalance) {
|
||||
this.accountNumber = accountNumber;
|
||||
this.balance = initialBalance;
|
||||
}
|
||||
|
||||
public synchronized void deposit(int amount) {
|
||||
balance += amount;
|
||||
System.out.println("Deposited: " + amount);
|
||||
System.out.println("Current Balance after Deposit: " + balance);
|
||||
}
|
||||
|
||||
public synchronized void withdraw(int amount) {
|
||||
if (balance >= amount) {
|
||||
balance -= amount;
|
||||
System.out.println("Withdrawn: " + amount);
|
||||
System.out.println("Current Balance after Withdrawal: " + balance);
|
||||
} else {
|
||||
System.out.println("Insufficient funds for withdrawal.");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
class TransactionThread extends Thread {
|
||||
private BankAccount account;
|
||||
private boolean isDeposit;
|
||||
private int amount;
|
||||
|
||||
public TransactionThread(BankAccount account, boolean isDeposit, int amount) {
|
||||
this.account = account;
|
||||
this.isDeposit = isDeposit;
|
||||
this.amount = amount;
|
||||
}
|
||||
|
||||
public void run() {
|
||||
if (isDeposit) {
|
||||
account.deposit(amount);
|
||||
} else {
|
||||
account.withdraw(amount);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
class Practice_question{
|
||||
public static void main(String[] args) {
|
||||
BankAccount account = new BankAccount(12345, 1000);
|
||||
|
||||
// Create multiple threads for deposits and withdrawals
|
||||
TransactionThread depositThread1 = new TransactionThread(account, true, 500);
|
||||
TransactionThread withdrawThread1 = new TransactionThread(account, false, 200);
|
||||
TransactionThread depositThread2 = new TransactionThread(account, true, 100);
|
||||
TransactionThread withdrawThread2 = new TransactionThread(account, false, 300);
|
||||
|
||||
// Start the threads
|
||||
depositThread1.start();
|
||||
withdrawThread1.start();
|
||||
depositThread2.start();
|
||||
withdrawThread2.start();
|
||||
|
||||
// Wait for all threads to finish
|
||||
try {
|
||||
depositThread1.join();
|
||||
withdrawThread1.join();
|
||||
depositThread2.join();
|
||||
withdrawThread2.join();
|
||||
} catch (InterruptedException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user