Hirdetés
- Háremet tartana az adattárolókból a Chieftec letisztult dizájnú háza
- Zsebre vágható Keychron billentyűzet a gyakran úton lévőknek
- Formálisan, de hivatalosan bejelentette a Clearwater Forestet az Intel
- Gyorsjavítást kapott a visszavont, majd újra kiadott GeForce driver
- Ilyen olcsó sem volt még egy Apple notebook
- Kezdő fotósok digitális fényképei
- Apple MacBook
- Házimozi belépő szinten
- OLED monitor topic
- Gyorsjavítást kapott a visszavont, majd újra kiadott GeForce driver
- Soundbar, soundplate, hangprojektor
- Lítium-ion/Li-ion akkumulátorok
- Milyen kompakt digitális fényképezőgépet?
- Milyen belső merevlemezt vegyek?
- AMD Ryzen 9 / 7 / 5 / 3 5***(X) "Zen 3" (AM4)
Új hozzászólás Aktív témák
-
smallmer
őstag
Sziasztok,
múlt hét után ismét megjelenek egy kérdéssel. az alábbi a feladat:Hozz létre egy osztályt Bankszamla néven. Parancssori argumentumként várja a bankszámla kezdeti egyenlegét és a számla felhasználóinak számát.
Hozz létre minden felhasználónak egy külön szálat.
A következőt ismételd 5-ször:
- véletlenszerűen a felhasználó vegyen ki/rakjon be egy véletlenszerűen generált összeget a számlára
- várjon 1-3 másodpercet, majd kezdje újraMinden tranzakciónál írd ki a tranzakció típusát, az összeget, illetve az új egyenleget. Pl.: Kivesz, összeg: 533, uj egyenleg: 313
A számla egyenlege soha nem lehet kevesebb, mint 0 Ft. Ha valaki többet szeretne kivenni, mint a számlaegyenleg, akkor a számlán levő teljes összeget vegye ki, de csak annyit. Ha üres számláról szeretne kivenni egy összeget, akkor továbbra is 0 marad a számlaegyenleg. Ügyelj a konkurens hozzáférésből eredő problémák kiküszöbölésére!Várd meg, míg az összes szál lefut, majd írd ki a képernyőre a következő üzenetet: "A program befejeződött".
itt a kódom:
package beadando;
import java.io.*;
import java.util.*;
import java.util.logging.Level;
import java.util.logging.Logger;
public class Szalak {
public static void main(String[] args) throws Exception {
int kezdeti_egyenleg = Integer.parseInt(args[0]);
int felhasznalok_szama = Integer.parseInt(args[1]);
//boolean kesz =false;
for (int i=1; i<=felhasznalok_szama; i++) {
new Beadando(kezdeti_egyenleg).start();
}
for (int i=1; i<=felhasznalok_szama; i++) {
new Beadando(kezdeti_egyenleg).join();
}
}
}
class Beadando extends Thread {
Random rand = new Random();
private int i_kezdet;
//private boolean kesz;
public Beadando(int kezdeti_egyenleg) {
this.i_kezdet = kezdeti_egyenleg;
//this.kesz = kesz;
}
@Override
public void run() {
synchronized (Szalak.class) {
//int x = i_kezdet;
for(int j=1; j<=5;j++){
int rand_berakvagykivesz = rand.nextInt(2);
if(rand_berakvagykivesz == 0)
{
int rand_szam = rand.nextInt(200000);
i_kezdet+=rand_szam;
System.out.println("berak: " + rand_szam);
System.out.println("Új egyenleg: "+ i_kezdet);
}else if(rand_berakvagykivesz == 1){
int rand_szam2 = rand.nextInt(200000);
if(rand_szam2 > i_kezdet ){
i_kezdet-=i_kezdet;
}else{
i_kezdet-=rand_szam2;
System.out.println("kivesz: " + rand_szam2);
System.out.println("Új egyenleg: "+ i_kezdet);
}
}
try {
Thread.sleep(1000);
} catch (InterruptedException ex) {
Logger.getLogger(Beadando.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
}
}a hiba, hogy ha mondjuk 2 lesz a felhasználók száma, akkor ugye 10 szer kellene berakni vagy kivenni, mert mindkét esetben a for ciklus a run-ban 5ször fut le, viszont nálam van hogy 6-szor , de lehet hogy 8-szor, tehát össze-vissza. esetleg valami ötlet?
Új hozzászólás Aktív témák
A topicot kiemeltem. Valaki nem akar egy nyitó hsz-t írni?:))
- Autós topik
- The Division 2 (PC, XO, PS4)
- Kezdő fotósok digitális fényképei
- Apple MacBook
- Folyószámla, bankszámla, bankváltás, külföldi kártyahasználat
- Anglia - élmények, tapasztalatok
- MWC 2026: csápolt a robot, majd dobott egy hátraszaltót
- Házimozi belépő szinten
- Ubiquiti hálózati eszközök
- Jolla és SailfishOS tapasztalatcsere
- További aktív témák...
- Apple iPhone 13 Pro 128GB 100% Akku,Megkímélt,Kártyafüggetlen,Tartozékaival. 1 Év Garanciával!
- Nvidia RTX 3060 Ti 8GB Founders Edition Garanciával!
- Apple iPhone 13 Pro 128GB 100% Akku,Újszerű,Kártyafüggetlen,Tartozékaival. 1 Év Garanciával!
- Honor X8c 8/256GB Újszerű,Kártyafüggetlen,Tartozékaival. 1 Év Garanciával!
- EliteBook 840 G11 14" FHD+ IPS Ultra 5 125U 16GB 256GB NVMe magyarított (lézerezett) vbill gar
- ÁRGARANCIA!Épített KomPhone i5 12400F 32/64GB RAM RTX 5070 12GB GAMER PC termékbeszámítással
- Dell Latitude 5420 14" Touchscreen i5-1135G7 16GB 512GB 1 év garancia
- Akciós kisWorkstation! Dell Precision 3570 i7-1255U 4.7GHz / 16GB / 512GB / Quadro T550 4GB FHD 15"
- 179 - 180 - Lenovo LOQ (15IRX9) - Intel Core i7-13650HX, RTX 4060
- 230 - Lenovo Legion 5 (15IRX10) - Intel Core i7-13650HX, RTX 5060
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest

