Utolsó módosítás: 2016.09.11.
A kiíratás és beolvasás a szabványos kimenetről és bemenetre a java.lang.System
osztályon keresztül történik:
System.out
objektum.System.in
objektum.System.err
objektum.Írjunk egy ,,Hello World!’’ programot!
Készítsük el a program változatát, mely kedvesen üdvözöl egy, a szabványos bemeneten megadott személyt! Például:
$ java GreetingsA
Szia! Hogy hívnak?
~> Péter
Üdv Péter, miújság?
A ,,~>
’’ programnak adott bemenetet jelöli.
Készítsük el a program változatát, mely kedvesen üdvözöl egy, argumentumként megadott személyt! Például:
$ java GreetingsB Béla
Üdv Béla, miújság?
Szöveget a java.lang.String
típussal ábrázoljuk. Számok konverziója szöveggé, szövegből:
Szám szöveggé alakítása: String s = "" + 2
, String s = String.valueOf(2)
, String trees = 2 + " fa"
Szöveg számmá alakítása: int n = Integer.parseInt("5")
, double d = Double.parseDouble("3.14")
stb.
Írjunk egy programot, mely bekér két egész számot és előállítja a következő kimenetet:
$ java IntOpts
Kérek két egész számot!
~> 17
~> 3
17 * 3 = 51
17 / 3 = 5
17 % 3 = 2
17 = 3 * 5 + 2
Ha a második szám nulla, akkor csak a szorzatot írjuk ki!
Írjunk egy programot, mely argumentumként várja \(a\) és \(b\) egész számokat, majd kiszámolja \(a^b\)-t! Használjunk ciklust!
Feltesszük, hogy \(b\) nemnegatív szám.
\(b\) lehet negatív is. Ekkor már törtszámokkal dolgozunk, használjuk a double
típust!
Például:
$ java Power 2 4
16
$ java Power 2 -3
0.125
Szorgalmi. Készítsünk egy programot, mely megadott hatványkitevőig kiírja 2 hatványait! A kitevőt argumentumként kapja. Ellenőrizzük a program futása elején, hogy megkaptuk-e az argumentumot! Használjunk ciklust, és ne használjuk a Math.pow()
metódust!
$ java Powers2 4
1
2
4
8
16
Haladóknak. Készíts egy programot, mely megadja egy másodfokú egyenlet megoldásait (feltesszük, hogy mindkét megoldás valós)! Például a \(x^2 + 3 \cdot x + 2 = 0\) megoldásai:
$ java Quadratic 1.0 3.0 2.0
x1 = -2
x2 = -1
Segítség:
használjuk a java.lang.Math
osztály függvényeit!
A másodfokú egyenlet megoldásai: \(x_1 = \frac{-b + \sqrt{b^2 - 4 \cdot a \cdot c}}{2 \cdot a}\), \(x_2 = \frac{-b - \sqrt{b^2 - 4 \cdot a \cdot c}}{2 \cdot a}\)
Haladóknak. Készítsünk egy programot, mely eldönti, hogy egy argumentumként megadott év szökőév-e!
Szökőévek a 4-gyel osztható évek, kivéve a 100-zal oszthatóakat, de a 400-zal oszthatók ugyancsak szökőévek. Például 2004 és 2008 szökőév, mert osztható 4-gyel, de 100-zal nem. De 1700 nem szökőév, mivel osztható 100-zal. 1600 is szökőév, mivel osztható ugyan 100-zal, de osztható 400-zal is.
$ java IsLeapYear 2004
true
$ java IsLeapYear 1700
false
$ java IsLeapYear 1600
true
Haladóknak. Készítsünk egy programot, mely bekér egy egész számot, és eldönti róla, hogy tökéletes-e vagy sem! Egy szám tökéletes, ha megegyezik a rendes osztói (a szám összes osztói kivéve önmaga) összegével. Például 6 tökéletes, mivel 1 + 2 + 3 = 6. Az első néhány tökéletes szám: 6, 28, 496, 8128.
Haladóknak. Készítsünk egy számológépet! A program kérjen be két számot és egy műveletet, majd végezze el a műveletet a számokon! A művelet lehet a négy alapművelet egyike (+
,-
,*
,/
) illetve hatványozás (^
).
$ java Calc 2 * 5
10
$ java Calc 4 + 3
7
$ java Calc 2 ^ 3
8
Segítség: annak eldöntésére, hogy milyen művelet lett megadva, használjuk a String.equals()
metódust. Például:
String op = "+";
if (op.equals("+"))
...
else if(op.equals("-"))
...
String.equals()
metódus helyett a ==
operátort használjuk? Változott a program működése? Miért?