Hirdetés
- Redmi Watch 5 Lite - filléres fitneszfelügyelő
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- Kicsinálja az S26 Ultra a fóliagyártókat
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Poco F8 Pro – titkos favorit lehet belőle
- Megérkezett a Google Pixel 7 és 7 Pro
- iPhone topik
- Xiaomi 14T Pro - teljes a család?
- One mobilszolgáltatások
- Szívós, szép és kitartó az új OnePlus óra
Ú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?:))
- Gmail
- Redmi Watch 5 Lite - filléres fitneszfelügyelő
- One otthoni szolgáltatások (TV, internet, telefon)
- NVIDIA GeForce RTX 5080 / 5090 (GB203 / 202)
- Genshin Impact (PC, PS4, Android, iOS)
- Kormányok / autós szimulátorok topikja
- Milyen billentyűzetet vegyek?
- Kerékpárosok, bringások ide!
- Kínai és egyéb olcsó órák topikja
- Arc Raiders
- További aktív témák...
- Samsung Galaxy A23 5G 128GB, Kártyafüggetlen, 1 Év Garanciàval
- OneXPlayer Mini Pro Ryzen7 6800U Win 11 handheld konzol új akku, 7" FullHD, 16GB, 1TB, doboz + tok
- Új HP Elitebook X G1i 14 AI, 14" FHD+ IPS, Ultra 7 258V, 32GB DDR5, 1TB NVMe, WIFI 7, gar
- Asztali PC , i5 8600k , 1660 Ti , 16GB 3200MHz , 500GB m.2
- Mac mini M4 PRO Makulátlan állapotban mint az új 2 év garanciával AZONNAL Átvehető Deák Térnél
- Xiaomi Redmi Note 12 128GB, Kártyafüggetlen, 1 Év Garanciával
- Apple iPhone 12 64GB,Újszerű,Dobozaval,12 hónap garanciával
- ÁRGARANCIA!Épített KomPhone i5 12400F 16/32/64GB RAM RTX 3060 12GB GAMER PC termékbeszámítással
- Bomba ár! Microsoft Surface Pro 5 Tablet - i5-7GEN I 8GB I 256GB SSD I W11 I Cam I Garancia!
- Ventilátorok 120/140mm és tápkábel modding kitűnő árakon!
Állásajánlatok
Cég: Central PC számítógép és laptop szerviz - Pécs
Város: Pécs
Cég: Laptopműhely Bt.
Város: Budapest



