- Bemutatkozott a Transcend SSD-inek zászlóshajója
- Sugárhajtómű ihlette a Zalman CPU-hűtőjét, de nem az üzemzaj tekintetében
- Félreértések az FSR 4 és a PlayStation 5 Pro körül
- Nem tetszik a Procon-SP-nek, hogy a Nintendo távolról kivégezheti a Switch 2-t
- Megcélozta az NVIDIA-t a 2 nm-es node-jával a Samsung
- Milyen billentyűzetet vegyek?
- AMD vs. INTEL vs. NVIDIA
- Nem tetszik a Procon-SP-nek, hogy a Nintendo távolról kivégezheti a Switch 2-t
- SONY LCD és LED TV-k
- OLED TV topic
- AMD Ryzen 9 / 7 / 5 7***(X) "Zen 4" (AM5)
- Amlogic S905, S912 processzoros készülékek
- Samsung LCD és LED TV-k
- Hisense LCD és LED TV-k
- Milyen notebookot vegyek?
Új hozzászólás Aktív témák
-
Fáraó
őstag
Üdv!
Konzolos menüt szeretnék készíteni, hülyegyerek biztosat, ami nem akad ki, ha nem int-et kap válaszként. Eddig az Angster Erzsébetes extra csomagot használtam, de szeretném nélküle megoldani, scanner-el. Egy ideje gondolkodok rajta, de nem jutok előbbre ,a netes keresés eredményeként a hasNextInt-ig jutottam el, de annak az else ágát nem tudom rendesen használni a megoldásra, mert pl. itt működik:public static void main(String[] arg) {
Scanner in = new Scanner(System.in);
System.out.println("How many are invading?");
if (in.hasNextInt()) {
int a = in.nextInt();
System.out.println(a);
} else {
System.out.println("Sorry, couldn't understand you!");
}
}de én a saját kódomban nem tudom felhasználni:
private static Scanner inputScanner = new Scanner(System.in);
public static void main(String[] args) {
System.out.println(" *** Welcome to the board game ! *** ");
selectInMainMenu();
}
private static void selectInMainMenu() {
int mainMenuChoice=0;
do {
showMainMenu();
if (inputScanner.hasNextInt()) {
mainMenuChoice = inputScanner.nextInt();
} else {
System.out.println("Wrong input! Please, select 1, 2 or 3! ");
break;
}
} while (mainMenuChoice < 1 || mainMenuChoice > 3);
switch (mainMenuChoice) {
case 1:
showHelp();
selectInMainMenu();
break;
case 2:
startAGame();
selectInMainMenu();
break;
case 3:
System.out.println("\nGoodbye!");
break;
}
}
private static void showMainMenu() {
System.out.println("1 - Game info");
System.out.println("2 - Start a game");
System.out.println("3 - Exit");
}
private static void showHelp() {
System.out.println("\nShowing help!\n");
}
private static void startAGame() {
System.out.println("\nPlaying a game!\n");
} -
Fáraó
őstag
Üdv!
Bár a megoldás működik, nem tartom elegánsnak. Ha esetleg valaki tudna egy szebb megoldást, megköszönném.
Gyakorolgatom SE tudásomat és egy táblajátékot írok. 1, 2, 3, 4-el (plusz enter) lehet lépkedni a négy irányba, a lépés előtt vizsgálom a lehetséges lépésirányokat, amit beleteszek egy négy elemű boolean tömbbe (minden lépés előtt frissülő statikus tömb). A tömb alapján listázódnak ki a lehetséges lépésirányok. A kiíráshoz használom a tömb indexeit. A feldobott lehetséges irányokból az int movementDirection adja meg egy másik metódusnak a lépés irányát. Viszont arra is kell figyelnem, hogy csak 0-3 közötti szám legyen értéke, nehogy tömbindexelési kivételbe fussak (kivételkezelés alapfokon). A kódom:
public static int listPossibleSteps() {
//indexes of possibleSteps: 0: left; 1: up; 2: right; 3: down
int movementDirection = 0;
System.out.println("");
for (int i = 0; i < possibleSteps.length; i++) {
if (possibleSteps[i]) {
System.out.print((i + 1) + " - ");
switch (i) {
case 0:
System.out.print("Move left\n");
break;
case 1:
System.out.print("Move up\n");
break;
case 2:
System.out.print("Move right\n");
break;
case 3:
System.out.print("Move down\n");
break;
}
}
}
do {
do {
movementDirection = extra.Console.readInt("Please select: ");
} while (movementDirection < 1 || movementDirection > 4);
movementDirection--;
} while (!possibleSteps[movementDirection]);
return movementDirection;
}Működik, de ez a két do-while a végén nekem elég szar megoldásnak tűnik. Esetleg lenne rá szebb kód?
Köszi!
-
Fáraó
őstag
Üdv!
Tuti rossz helyre írok, de nem találtam más alkalmasabb topicot, ez legalább szakmai topic. A kérdésem:
Ismeri valaki a Brainhub által szervezett Java oktatást? Érdemes elkezdeni, lehet rá jövőt alapozni, ad(hat) megfelelő tudást?
Köszönöm a türelmeteket!
Új hozzászólás Aktív témák
Hirdetés
A topicot kiemeltem. Valaki nem akar egy nyitó hsz-t írni?:))
- Milyen billentyűzetet vegyek?
- AMD vs. INTEL vs. NVIDIA
- erkxt: A Roidmi becsődölt – és senki nem szól egy szót sem?
- Linux kezdőknek
- BestBuy ruhás topik
- Formula-1
- Nem tetszik a Procon-SP-nek, hogy a Nintendo távolról kivégezheti a Switch 2-t
- Kertészet, mezőgazdaság topik
- 200 megapixeles zoomkamerát sem kap az S26 Ultra?
- Fotók, videók mobillal
- További aktív témák...
- Asus E510M 128GB SSD, 4GB RAM, 1 Év Garanciával
- DDR5 GAMER: Új RYZEN 7 8700F/9700X/9800X3D +RX 6600/6700XT/6800/9060XT +Új 16-64GB DDR5! GAR/SZÁMLA!
- EliteBook 640 G11 14" FHD+ IPS Ultra 5 125U 16GB 512GB NVMe ujjlolv IR kam gar
- Csere-Beszámítás! Asus Rog Thor II 1200W 80+ Platinum tápegység! Olvass!
- Prémium! Felsőkategória! Asus Rog Strix Maximus Z790 Hero Wi-fi Alaplap!
- Csere-Beszámítás! Sapphire Pure RX 7700XT 12GB GDDR6 Videokártya! Bemutató Darab!
- Apple iPhone 14 Pro Max / 256 GB / 88% akkumulátor / 1év Garanciával / Gyári Független
- Windows, Office licencek kedvező áron, egyenesen a Microsoft-tól - Automata kézbesítés utalással is!
- LG 42C3 - 42" OLED EVO - 4K 120Hz 0.1ms - NVIDIA G-Sync - FreeSync Premium - HDMI 2.1 - A9 Gen6 CPU
- Azonnali készpénzes nVidia RTX 3000 sorozat videokártya felvásárlás személyesen / csomagküldéssel
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Promenade Publishing House Kft.
Város: Budapest