[[oktatas:programozás:java|< Java]]
====== Argumentumok ======
* **Szerző:** Sallai András
* Copyright (c) 2024, Sallai András
* Licenc: [[https://creativecommons.org/licenses/by-sa/4.0/|CC BY-SA 4.0]]
* Web: https://szit.hu
===== Az argumentumokról =====
A programok indításakor annak neve után argumentumokat adhatunk meg.
Kétféle argumentum létezik:
* kapcsolók - például --version
* paraméterek - például adat.txt
Példa:
java App --all adat.txt
Ebben a leírásban leginkább paraméterekkel foglalkozunk.
===== Az argumentumok használata =====
public class HelloWorld {
public static void main(String[] args) {
// Ellenőrizzük, hogy van-e elég argumentum
if (args.length > 0) {
System.out.println("Helló, " + args[0] + "!");
} else {
System.out.println("Helló, világ!");
}
}
}
Példafuttatások:
java HelloWorld Alice
Kimenet: Helló, Alice!
java HelloWorld
Kimenet: Helló, világ!
==== Összeadó ====
public class Osszeadas {
public static void main(String[] args) {
if (args.length < 2) {
System.out.println("Kérlek adj meg két számot!");
return;
}
// Argumentumok konvertálása egész számokra
int szam1 = Integer.parseInt(args[0]);
int szam2 = Integer.parseInt(args[1]);
int osszeg = szam1 + szam2;
System.out.println("Az összeg: " + osszeg);
}
}
Példafuttatás:
java Osszeadas 5 7
Kimenet: Az összeg: 12
==== Szöveg hossza ====
public class SzovegHossza {
public static void main(String[] args) {
if (args.length > 0) {
String szoveg = args[0];
System.out.println("A szöveg hossza: " + szoveg.length());
} else {
System.out.println("Kérlek adj meg egy szöveget!");
}
}
}
Futtatáspélda:
java SzovegHossza "Hello World"
Kimenet: A szöveg hossza: 11
==== Ismétlés ====
public class Ismetles {
public static void main(String[] args) {
if (args.length < 2) {
System.out.println("Kérlek adj meg egy szöveget és egy darabszámot!");
return;
}
String szoveg = args[0];
int darab = Integer.parseInt(args[1]);
for (int i = 0; i < darab; i++) {
System.out.println(szoveg);
}
}
}
Példafuttatás:
java Ismetles "Hello" 3
Kimenet:
CopyReplit
Hello
Hello
Hello
===== VSCode argumentum beállítása =====
Létre kell hozni egy konfigurációt:
* Run > Add configuration...
A következő fájl jön létre:
.vscode/launch.json
Vegyük fel a következő kulcsot:
"args": ["adat.txt"]
Így az adat.txt az állandó paraméter, ami meg van adva a program futtatásakor.
Ebben a fájlban valójában két konfiguráció jön létre. A bal felső lejátszógombra kattintva a második (App nevű) hajtódik végre.
==== Konfigurációk futtatása ====
* Akciósáv > Run and Debug
Az oldalsávon felül a lejátszógomb mellett válasszuk ki a kívánt konfigurációt.
===== Feladatok =====
==== Feladat 01 ====
Készítsen egyszerű kalkulátort.
Kérjen be két értéket majd egy operátort, majd végezze el a műveletet.
A fogadott operátorok: +, -, *, /.
Példa a hívásra:
java Kalkulator 30 35 +
Kimenet:
Eredmény: 65
* Mentés: Kalkulator
==== Feladat 02 ====
Hozzon létre egy szövegfordítót.
A program paraméterként fogadja fordítandó szöveget, majd a cél nyelvet. A cél nyelv legyen például angol és német. A program végezzen egyszerű szótár alapú fordítást.
A program egyszerű szótárként működjön.
Példahívás:
java Fordito "reggel" angol
Kimenet: morning
Mentés: Fordito
==== Feladat 03 ====
Készítsen faktoriális számító programot.
A program egész számot fogadjon paraméterként, majd a kimenet a faktoriális.
Példahívás:
java Faktorialis 5
Kimenet:
5! = 120
* Mentés: FAktorialis
==== Feladat 04 ====
Egész számokat kell összegeznie.
A program fogadja egész számok sorozatát, majd adja össze azokat.
Példa hívás:
java Osszeg 1 2 3 4 5
Kimenet:
Összeg: 15
==== Feladat 05 ====
Karakterlánc megfordítása.
A program egy szöveget fogadjon, amit kiír fordítva.
Példa hívás:
java Visszafordíto "fehér kocka"
Kimenet:
akcok réhef
* Mentés: Visszafordito
==== Feladat 06 ====
Egyszerű statisztikai program.
A program fogadjon egy számsort, majd írja ki az átlagot, a minimumot és a maximumot.
Példahívás:
java Statisztika 4 5 2 8 10
Kimenet:
Átlag: 5.8
Minimum: 2
Maximum: 10
==== Feladat 07 ====
Írjon hőmérsékletváltó programot.
A program paraméterként fogadjon egy hőmérsékletértéket és a konverziót típusát.
Például: Celsius-Fahrenheit. A program számítsa ki az értéket.
Példahívás:
HomersekletValto 32 CtoF
Kimenet:
32 Celsisu = 89.6 Fahrenheit
==== Feladat 08 ====
Egy titkosító programot kell írnia.
A program egy szöveget és egy eltolást fogad paraméterként. A program Caesar-titkosítással kódolja a szöveget.
Példahívás:
java Titkosit "Hello" 3
Kimenet:
Kódolt szöveg: Khoor
==== Feladat 09 ====
Legyen egy állomány a következő tartalommal:
alma
körte
barck
Írjon programot, amely egy állomány tartalmát a képernyőre írja.
Példafuttatás:
java Olvas adat.txt
Kimenet:
alma
körte
barack
===== Lásd még =====
* https://picocli.info/ (2024)