Ezek a vegyes feladatok a változókezelést, feltételvizsgálatokat, ciklusokat, valamint az ezek mellé megtanult anyagokat (véletlen szám sorsolás, adatbekérés, osztások) gyakoroltatják. A feladatok lefedik az első 14 lecke anyagát, de néhol már belecsapnak az alap algoritmusok témakörbe. A feladatok sorszáma nem feltétlenül tükrözi az adott feladat nehézségét. A feladatok megoldásait is mellékelem, amik kedvtől és szabadidőtől függően folyamatosan bővülnek majd. A sorsolásoknál az intervallumot neked kell megoldani, adatbekérés esetén feltételezhetjük, hogy a felhasználó az intervallumnak megfelelő számot ad meg.
- Kérj be egy egész számot a felhasználótól, és írd ki a nullától való távolságát!
Megoldás/** * * @author https://webotlet.hu */ package alapokgyakorlasa01; import java.util.Scanner; public class AlapokGyakorlasa01 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.print("Adj meg egy egesz szamot: "); int szam = sc.nextInt(); System.out.println("A szam nullatol valo tavolsaga: " + Math.abs(szam) ); } }
- Sorsolj ki 3 egész számot a [0;10] intervallumból, és írd ki az átlagukat!
Megoldás/** * * @author https://webotlet.hu */ package alapokgyakorlasa02; public class AlapokGyakorlasa02 { public static void main(String[] args) { int szam1 = (int)(Math.random()*11); int szam2 = (int)(Math.random()*11); int szam3 = (int)(Math.random()*11); double atlag = (szam1 + szam2 + szam3) / 3.0; System.out.println("A 3 szam atlaga: " + atlag ); } }
- Sorsolj ki egy egész számot az [1;100] intervallumból, és írd ki, milyen számjegyre végződik!
Megoldás/** * * @author https://webotlet.hu */ package alapokgyakorlasa03; public class AlapokGyakorlasa03 { public static void main(String[] args) { int szam = (int) (Math.random() * 100) + 1; System.out.println("A sorsolt szam: " + szam); System.out.println("Az utolso szamjegye: " + szam % 10); } }
- Sorsolj ki egy egész számot a [7;24] intervallumból. Írd ki a szám osztóit!
Megoldás/** * * @author https://webotlet.hu */ package alapokgyakorlasa04; public class AlapokGyakorlasa04 { public static void main(String[] args) { int szam = (int) (Math.random() * 18) + 7; System.out.println("A sorsolt szam: " + szam); System.out.print("A szam osztoi: "); for( int i = 1; i <= szam; i++ ) { if( szam % i == 0 ) { System.out.print(i + " "); } } System.out.println(); } }
- Kérj be 2 egész számot a felhasználótól a [-100;100] intervallumból, és írd ki a közöttük lévő páros számokat!
1. megoldás/** * * @author https://webotlet.hu */ package alapokgyakorlasa05v1; import java.util.Scanner; public class AlapokGyakorlasa05v1 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("Adj meg ket egesz szamot:"); int szam1 = sc.nextInt(); int szam2 = sc.nextInt(); System.out.println("A kozottuk levo szamok: "); if( szam2 > szam1 ) { for( int i = szam1 + 1; i < szam2; i++ ) { System.out.print(i + " "); } System.out.println(); } else { for( int i = szam2 + 1; i < szam1; i++ ) { System.out.print(i + " "); } System.out.println(); } } }
2. megoldás/** * * @author https://webotlet.hu */ package alapokgyakorlasa05v2; import java.util.Scanner; public class AlapokGyakorlasa05v2 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("Adj meg ket egesz szamot:"); int szam1 = sc.nextInt(); int szam2 = sc.nextInt(); if( szam1 > szam2 ) { int csere = szam1; szam1 = szam2; szam2 = csere; } System.out.println("A kozottuk levo szamok: "); for( int i = szam1 + 1; i < szam2; i++ ) { System.out.print(i + " "); } System.out.println(); } }
- Kérj be egy negatív egész számot a felhasználótól, és írd ki az ettől nagyobb negatív számokat!
Megoldás/** * * @author https://webotlet.hu */ package alapokgyakorlasa06; import java.util.Scanner; public class AlapokGyakorlasa06 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("Adj meg egy negativ egesz szamot:"); int szam = sc.nextInt(); System.out.println("Az ettol nagyobb negativ szamok: "); for( int i = szam + 1; i < 0; i++ ) { System.out.print(i + " "); } System.out.println(); } }
- Írd ki a [0;100] intervallumból azokat a számokat, amelyek a 2, 3, és 5 számok közül csak az egyikkel oszthatók!
Megoldás/** * * @author https://webotlet.hu */ package alapokgyakorlasa07; public class AlapokGyakorlasa07 { public static void main(String[] args) { for( int i = 0; i <= 100; i++ ) { // csak 2-vel oszthato if( i % 2 == 0 && i % 3 != 0 && i % 5 != 0 ) { System.out.print(i + " "); } // csak 3-mal oszthato else if( i % 2 != 0 && i % 3 == 0 && i % 5 != 0 ) { System.out.print(i + " "); } // csak 5-gyel oszthato else if( i % 2 != 0 && i % 3 != 0 && i % 5 == 0 ) { System.out.print(i + " "); } } System.out.println(); } }
- Hozz létre egy 10 elemű tömböt, amit tölts fel a [0;20] intervallumból véletlen számokkal! Írd ki a tömb páros egyjegyű számait!
Megoldás/** * * @author https://webotlet.hu */ package alapokgyakorlasa08; public class AlapokGyakorlasa08 { public static void main(String[] args) { int[] tomb = new int[10]; for( int i = 0; i < tomb.length; i++ ) { tomb[i] = (int)(Math.random() * 21); } System.out.println("A teljes tomb:"); for( int i = 0; i < tomb.length; i++ ) { System.out.print(tomb[i] + " "); } System.out.println(); System.out.println("A tomb egyjegyu szamai:"); for( int i = 0; i < tomb.length; i++ ) { if( tomb[i] % 2 == 0 && tomb[i] < 10 ) { System.out.print(tomb[i] + " "); } } System.out.println(); } }
- Hozz létre egy 10 elemű tömböt, amit tölts fel a [-20;20] intervallumból véletlen számokkal! Írd ki a tömb páros egyjegyű számait!
Megoldás/** * * @author https://webotlet.hu */ package alapokgyakorlasa09; public class AlapokGyakorlasa09 { public static void main(String[] args) { int[] tomb = new int[10]; for( int i = 0; i < tomb.length; i++ ) { tomb[i] = (int)(Math.random() * 41) - 20; } System.out.println("A teljes tomb:"); for( int i = 0; i < tomb.length; i++ ) { System.out.print(tomb[i] + " "); } System.out.println(); System.out.println("A tomb egyjegyu szamai:"); for( int i = 0; i < tomb.length; i++ ) { if( tomb[i] % 2 == 0 && tomb[i] > -10 && tomb[i] < 10 ) { System.out.print(tomb[i] + " "); } } System.out.println(); } }
- Hozz létre egy 10 elemű tömböt, amit tölts fel a [-5;15] intervallumból! Írd ki a tömb elemeit fordított sorrendben!
Megoldás/** * * @author https://webotlet.hu */ package alapokgyakorlasa10; public class AlapokGyakorlasa10 { public static void main(String[] args) { int[] tomb = new int[10]; for( int i = 0; i < tomb.length; i++ ) { tomb[i] = (int)(Math.random() * 21) - 5; } System.out.println("Eredeti sorrend:"); for( int i = 0; i < tomb.length; i++ ) { System.out.print(tomb[i] + " "); } System.out.println(); System.out.println("Forditott sorrend:"); for( int i = tomb.length - 1; i >= 0; i-- ) { System.out.print(tomb[i] + " "); } System.out.println(); } }
- Kérj be 5 számot a felhasználótól, melyeket tárolj el egy tömbben! Írd ki a tömb első és utolsó elemét!
Megoldás/** * * @author https://webotlet.hu */ package alapokgyakorlasa11; import java.util.Scanner; public class AlapokGyakorlasa11 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int[] tomb = new int[5]; for( int i = 0; i < tomb.length; i++ ) { System.out.println("Adj meg egy egesz szamot: "); tomb[i] = sc.nextInt(); } System.out.println("A tomb elso eleme: " + tomb[0]); System.out.println("A tomb utolso eleme: " + tomb[tomb.length - 1]); } }
- Sorsolj ki egy számot az [1;5] intervallumból, melyek egy érdemjegyet jelentenek. Írd ki a számnak megfelelő szöveges értékelést!
1. megoldás/** * * @author https://webotlet.hu */ package alapokgyakorlasa12v1; public class AlapokGyakorlasa12v1 { public static void main(String[] args) { int jegy = (int)(Math.random() * 5) + 1; System.out.println(jegy); if( jegy == 5 ) { System.out.println("jeles"); } else if( jegy == 4 ) { System.out.println("jo"); } else if( jegy == 3 ) { System.out.println("kozepes"); } else if( jegy == 2 ) { System.out.println("elegseges"); } else { System.out.println("elegtelen"); } } }
2. megoldás/** * * @author https://webotlet.hu */ package alapokgyakorlasa12v2; public class AlapokGyakorlasa12v2 { public static void main(String[] args) { int jegy = (int)(Math.random() * 5) + 1; System.out.println(jegy); switch( jegy ) { case 5: System.out.println("jeles"); break; case 4: System.out.println("jo"); break; case 3: System.out.println("kozepes"); break; case 2: System.out.println("elegseges"); break; case 1: System.out.println("elegtelen"); break; } } }
- Olvass be egy egész számot a billentyűzetről a [10;130] intervallumból, mely egy autó sebességét jelenti! A megengedett legnagyobb sebesség az adott útszakaszon 80 km/óra. Írd ki, hogy számszerűen mekkora büntetésre számíthat gyorshajtásért az autós, ha legalább 20-szal túllépés esetén 30e Ft-ból megússza, de 40-nel túllépés felett már 50e Ft a büntetési tétel!
1. megoldás/** * * @author https://webotlet.hu */ package alapokgyakorlasa13v1; import java.util.Scanner; public class AlapokGyakorlasa13v1 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int sebesseg = sc.nextInt(); if( sebesseg > 120 ) { System.out.println(50000); } else if( sebesseg >= 100 ) { System.out.println(30000); } else { System.out.println(0); } } }
2. megoldás/** * * @author https://webotlet.hu */ package alapokgyakorlasa13v2; import java.util.Scanner; public class AlapokGyakorlasa13v2 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int sebesseg = sc.nextInt(); int buntetes = 0; if( sebesseg > 120 ) { buntetes = 50000; } else if( sebesseg >= 100 ) { buntetes = 30000; } System.out.println(buntetes); } }
- Sorsolj ki egy számot a [7000;15000] intervallumból, mely egy fizetendő összeget jelent. Hány darab ezressel lehet kifizetni az adott összeget? (nincs 5-ösre és 10-esre kerekítés)
Megoldás/** * * @author https://webotlet.hu */ package alapokgyakorlasa14; public class AlapokGyakorlasa14 { public static void main(String[] args) { int ar = (int)(Math.random() * 8001) + 7000; System.out.println(ar); int db1000 = ar / 1000; if( ar % 1000 > 0 ) { db1000 = db1000 + 1; } System.out.println(db1000 + " darab ezressel lehet kifizetni. "); } }
- Sorsolj ki egy számot a [700;1300] intervallumból, mely egy fizetendő összeget jelent. Mennyi lesz a visszajáró, ha csak 200-as érmékkel fizetek? (nincs 5-ösre és 10-esre kerekítés)
- Kérj be egy egész számot a felhasználótól, mely egy kör átmérője! Írd ki a kör kerületét, területét!
- Sorsolj ki egy pozitív páros számot a [1;50] intervallumból, és írd ki a képernyőre!
- Tölts fel egy 10 elemű tömböt a [0;100] intervallumból véletlen számokkal! Írd ki azokat az elemeket, amelyek 0-ra végződnek, de 4-gyel nem oszthatók!
- Tölts fel egy 10 elemű tömböt a [0;1000] intervallumból véletlen számokkal! Írd ki a két számjegyű elemeket!
- Tölts fel egy 10 elemű tömböt a [0;100] intervallumból véletlen számokkal! Sorsolj ki egy számot ugyanebből az intervallumból, és írd ki a tömb azon elemeit, amelyek nagyobbak a sorsolt számtól, de nem oszthatók vele!
- Tölts fel egy 10 elemű tömböt a [-1000;1000] intervallumból véletlen számokkal! Írd ki a tömb kétjegyű elemeit!
- Tölts fel egy 10 elemű tömböt a [0;1000] intervallumból véletlen számokkal! Írd ki azokat az elemeket, amelyek oszthatók az utolsó számjegyükkel!
- Sorsolj ki 10 számot a [0;10] intervallumból. Írd ki a kisorsolt számok átlagát!
- Olvass be számokat a billentyűzetről addig, amíg 0-át nem adsz meg. Írd ki minden szám után, hogy páros vagy páratlan!
- Olvass be számokat a billentyűzetről addig, amíg 0-át nem adsz meg. Számold meg a beolvasott számok közül a páratlanokat és írd ki a darabszámot!
- Olvass be számokat a billentyűzetről addig, amíg 0-át nem adsz meg. Írd ki a begépelt páros számok átlagát!
- Tölts fel egy 10 elemű tömböt páratlan számokkal a [0;100] intervallumból véletlen számokkal és írd ki őket!
- Tölts fel egy 20 elemű tömböt a [-10;30] intervallumból véletlen számokkal! Sorsolj ki egy egész számot a [0;9] intervallumból Írd ki a tömb azon elemeit, amik erre a számjegyre végződnek, de nem oszthatók vele!
- Tölts fel egy 20 elemű tömböt a [-100;100] intervallumból véletlen számokkal! Sorsolj ki két számot a [-40;40] intervallumból! Írd ki a tömb azon elemeit, melyek a két külön kisorsolt szám között vannak!
- Sorsolj ki egy számot a [10;1000] intervallumból! Hány sorsolás kellett hozzá, hogy két számjegyű számot kapj?