You are on page 1of 6

PROGmasters Rapid Workshop

Java

WIFI: PROGmasters / classymango294


2024. 01. 06.

Ez a dokumentum: https://bit.ly/rw0106
PROGmasters RW 2024. 01. 06. - feladatok

Letöltés: https://www.jetbrains.com/idea/download

(Community Edition) (Telepítésnél skip settings)

A nap menete:

09:00 - 10:15
- Intellij IDEA - Hello World!
- Java alapok: blokkok, változók, elágazás (if-else), for ciklusok
12:00 - 13:00 - ebédszünet, pizza, videók a korábbi demókról
13:00 – 13:10 - demó felvétel videó levetítése: 2023.01.20. - 2. Open Demo
13:00 - 13:30 – Mire jó az AI mostanában? - ChatGPT API használata
14:00 - 14:30 – Frontend vs. backend?
13:30 - 15:00 – Game of Life, kis projekt befejezése
Feladatok
#1. Írjunk programot, ami létrehoz két egész szám típusú változót (‘a’ és ‘b’) és kiírja
- az összegüket (+)
- a különbségüket (-)
- a szorzatukat (*)
- a hányadosukat (/)
- a maradékos osztásuk eredményét (%)

Megoldás:
System.out.println("Hello World!");

// automatikus kódformázás: Alt + Ctrl + L


int a = 5;
int b = 2;

// A System.out.println(); rövidítése: sout + Enter


System.out.println(a);
System.out.println(b);
System.out.println(a + b);
System.out.println(a - b);
System.out.println(a / b);
System.out.println(a * b);
System.out.println(a % b);

#2 Írjunk programot, ami létrehoz két String típusú változót:


“First text” és “Second text” értékekkel
és kiírja:
- az összefűzött értéküket (+)
- az első szöveg harmadik karakterét ( .substring(start, end) )
- a második szöveg elejét az 5-dik karakterig

Megoldás:
public class Main {
public static void main(String[] args) {

String first = "First text";


String second = "Second text";

System.out.println(first + second);
System.out.println(first.substring(2, 3));
System.out.println(second.substring(0, 5));
}
}

#3 Írjunk programot, ami véletlenszerűen (random) választ két számot. Ezeket eltárolja egy-egy
változában.
Majd a felhasználót megkéri, hogy tippelje meg a két szám összegét. A tippet be tudja írni a felhasználó és
Enter gomb megnyomása után:
Ha eltalálta, kiírja, hogy “Ön nyert!”, ha nem akkor “Ön vesztett, gyakoroljon még!”.

pl.
int a = new Random().nextInt(1000); //Alt + Enter: import class
int b = new Random().nextInt(1000);
Scanner scanner = new Scanner(System.in);
System.out.println("Guess a number!");
int guess = scanner.nextInt();
...
int a = 7;

if (a == 5) {
System.out.println("A szám értéke öt.");
System.out.println("-------------------");
} else {
System.out.println("Nem öt!");
}

Megoldás:
import java.util.Random;
import java.util.Scanner;

public class Main {


public static void main(String[] args) {

int a = new Random().nextInt(100);


System.out.println("Első szám: " + a);
int b = new Random().nextInt(100);
System.out.println("Második szám: " + b);

Scanner scanner = new Scanner(System.in); //Alt + Enter: import class


System.out.println("Tippelj, mennyi az összegük vagy a szorzatuk:");
int guess = scanner.nextInt();

if ((a + b) == guess || (a * b) == guess) {


System.out.println("Talált!!.");
System.out.println("-------------------");
} else if ((a / b) == guess) {
System.out.println("Eltaláltad a hányadosát!");
} else {
System.out.println("Nem talált!");
System.out.println("A helyes megoldás: " + guess);
}

}
}

#4 Írjunk programot, ami kiírja 100-tól 1000-ig a 3-mal osztható számokat.

Megoldás:

#5 Írjunk programot, ami kisorsolja az 5-ös lottó számokat. (egyszerűség kedvéért többször is szerepelhet
ugyanaz a szám)

Véletlen szám generálása:


int szam1 = new Random().nextInt(90)+1; //1-től 90-ig véletlenszerűen
választ egy számot

Megoldás:

#6 Írjunk programot, ami létrehoz egy int típusú változót (n) és kirajzolja az alábbi ábrát n értéke
alapján:
Segítség:
System.out.print(); //nincs “ln” a végén. Ezt lehet használni, ha nem szeretnék Entert
(sörtörést) a végén, hanem egymás mellé kiírni értékekeket.

pl. int n=4 esetén:

1
12
123
1234

Megoldás:
import java.util.Random;
import java.util.Scanner;

public class Main {


public static void main(String[] args) {

int n = 4;

int sor = 0;
while (sor < n) {
sor = sor + 1;

int oszlop = 0;
while (oszlop < sor) {
oszlop = oszlop + 1;
System.out.print(oszlop);
}

System.out.println();
}
}
}

#7 Írjunk programot, ami létrehoz egy int típusú változót (n) és kirajzolja az alábbi ábrát n értéke
alapján:

pl. int n=4 esetén:


...0
..000
.00000
0000000

Megoldás:

Chat GPT API használata


#8: Beszélgetős program ChatGPT segítésével

Töltsd le, tömörítsd ki és IDEA CE-ből nyisd meg az alábbi mappát:


ChatGPT-Java-API-master.zip

API KEY:
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

Forrás: https://gist.github.com/gantoin/190684c344bb70e5c5f9f2339c7be6ed

Game of Life befejezése


#9: Fejezd be a projektet!

Szabályok és játékleírás:
Magyarul: https://hu.wikipedia.org/wiki/%C3%89letj%C3%A1t%C3%A9k
Angolul: https://en.wikipedia.org/wiki/Conway%27s_Game_of_Life

Töltsd le, tömörítsd ki és IDEA CE-ből nyisd meg az alábbi mappát:


GameOfLifeWithJFrame.zip

A GameOfLife.java fájlban a jelölt részen egészítsd ki az if-else ágakat a szabályoknak megfelelően, hogy életre
keltsd a “baktérium” telepet.

Visszajelzés a napról. Kérlek töltsd ki! Köszönjük!


https://forms.office.com/e/t99yQ9juDy

You might also like