Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.praktika4_juuse;
- import java.util.Random;
- import java.util.Scanner;
- public class Main {
- //loome meetodi mis tekitab sakilise kahedimensioonilise array ning täidame need juhuslike 1 ja 0-dega
- public static int[][] looRongiIstekohad() {
- int[][] rongiIstekohad = new int[5][];
- rongiIstekohad[0] = new int[54];
- rongiIstekohad[1] = new int[36];
- rongiIstekohad[2] = new int[18];
- rongiIstekohad[3] = new int[36];
- rongiIstekohad[4] = new int[54];
- //konstrueerime Random klassi 0 ja 1 jaoks
- Random rng = new Random();
- //täidame array juhuarvudega
- for (int i = 0; i < rongiIstekohad.length; i++) {
- for (int j = 0; j < rongiIstekohad[i].length; j++) {
- rongiIstekohad[i][j] = rng.nextInt(2);
- }
- }
- return rongiIstekohad;
- }
- //prindime istekohad kõikide vagunite kohta
- public static void prindiRongiIstekohad(int[][] rongiIstekohad) {
- //vagunite tsükkel
- System.out.println();
- for (int i = 0; i < rongiIstekohad.length; i++) {
- // prindime kohtade numbrid et kasutaja oskaks valida kohanumbrit
- System.out.println();
- System.out.print("Istekoht - ");
- for (int j = 0; j < rongiIstekohad[i].length; j++) {
- System.out.print(" " + (j + 1));
- }
- System.out.println();
- System.out.print("Vagun " + (i + 1) + " - ");
- // prindime vaguni istekohad
- for (int j = 0; j < rongiIstekohad[i].length; j++) {
- if (j > 9) {
- System.out.print(" ");
- }
- System.out.print(" " + rongiIstekohad[i][j]);
- }
- System.out.println();
- }
- }
- //prindime seekord ainult valitud vaguni istekohad
- public static void prindiVaguniIstekohad(int[][] rongiIstekohad, int vagun) {
- System.out.println();
- System.out.print("Istekoht - ");
- for (int j = 0; j < rongiIstekohad[vagun].length; j++) {
- System.out.print(" " + (j + 1));
- }
- System.out.println();
- System.out.print("Vagun " + (vagun + 1) + " - ");
- for (int j = 0; j < rongiIstekohad[vagun].length; j++) {
- if (j > 9) {
- System.out.print(" ");
- }
- System.out.print(" " + rongiIstekohad[vagun][j]);
- }
- }
- //prindime seekord ainult valitud vaguni istekohad ja lisaks kas ülemised kohad või alumised
- public static void prindiVaguniIstekohad(int[][] rongiIstekohad, int vagun, String filter) {
- System.out.println();
- System.out.print("Istekoht - ");
- for (int j = 0; j < rongiIstekohad[vagun].length; j++) {
- // Jäta istekohad vahele vastavalt kas on nõutud ülemisi või alumisi kohti
- if (vagun == 0 || vagun == 1 || vagun == 3 || vagun == 4) {
- if (filter == "ulemised" && (j + 1) % 2 == 0) {
- continue;
- } else if (filter == "alumised" && (j + 1) % 2 == 1) {
- continue;
- }
- } else if (vagun == 2) {
- if (filter.compareTo("kulgmised") == 0 && (j + 1) < 37) {
- continue;
- } else if (filter.compareTo("sisemised") == 0 && (j + 1) > 37) {
- continue;
- }
- }
- System.out.print(" " + (j + 1));
- }
- System.out.println();
- System.out.print("Vagun " + (vagun + 1) + " - ");
- for (int j = 0; j < rongiIstekohad[vagun].length; j++) {
- // Jäta istekohad vahele vastavalt kas on nõutud ülemisi või alumisi kohti
- if (vagun == 0 || vagun == 1 || vagun == 3 || vagun == 4) {
- if (filter.compareTo("ulemised") == 0 && (j + 1) % 2 == 0) {
- continue;
- } else if (filter.compareTo("alumised") == 0 && (j + 1) % 2 == 1) {
- continue;
- }
- } else if (vagun == 2) {
- if (filter.compareTo("kulgmised") == 0 && (j + 1) < 37) {
- continue;
- } else if (filter.compareTo("sisemised") == 0 && (j + 1) > 37) {
- continue;
- }
- }
- if (j > 9) {
- System.out.print(" ");
- }
- System.out.print(" " + rongiIstekohad[vagun][j]);
- }
- }
- public static void main(String[] args) {
- int[][] rongiIstekohad = Main.looRongiIstekohad();
- Main.prindiRongiIstekohad(rongiIstekohad);
- Scanner scn = new Scanner(System.in);
- // teeme while loopi seni kuni kasutaja sisestab korrektse vaguni numbri
- int vagun = -1;
- while (vagun == -1) {
- System.out.println();
- System.out.println("Valige vagun kuhu pilet osta: ");
- if (scn.hasNextInt()) {
- vagun = scn.nextInt();
- if (vagun < 1 || vagun > 5) {
- vagun = -1;
- }
- continue;
- }
- System.out.println("Vaguni valisimisel tekkis viga. Palun proovige uuesti!");
- }
- // array algavad 0-ist aga kasutaja sisestab vaguneid alustades 1-est
- vagun = vagun - 1;
- Main.prindiVaguniIstekohad(rongiIstekohad, vagun);
- // teeme while loopi seni kuni kasutaja sisestab korrektse koha numbri
- int koht = -1;
- int tasemeValik = -1;
- int kulgKohaValik = -1;
- while (koht == -1) {
- System.out.println();
- if (tasemeValik == -1 && (vagun == 0 || vagun == 4 || vagun == 1 || vagun == 3)) {
- System.out.println("Milliseid kohti soovite?");
- System.out.println("[1] Ülemisi");
- System.out.println("[2] Alumisi");
- // teeme while loopi seni kuni kasutaja sisestab korrektse valiku numbri
- while (tasemeValik == -1) {
- if (scn.hasNextInt()) {
- tasemeValik = scn.nextInt();
- // kui kasutaja sisestab väiksema või suurema võimaliku valiku numbri
- if (tasemeValik != 1 && tasemeValik != 2) {
- tasemeValik = -1;
- continue;
- }
- System.out.println("Taseme valisimisel tekkis viga. Palun proovige uuesti!");
- }
- }
- if (tasemeValik == 1) {
- Main.prindiVaguniIstekohad(rongiIstekohad, vagun, "ulemised");
- } else {
- Main.prindiVaguniIstekohad(rongiIstekohad, vagun, "alumised");
- }
- } else if (kulgKohaValik == -1 && vagun == 2) {
- System.out.println("Milliseid kohti soovite?");
- System.out.println("[1] Külgmisi");
- System.out.println("[2] Sisekohad");
- // teeme while loopi seni kuni kasutaja sisestab korrektse valiku numbri
- while (kulgKohaValik == -1) {
- if (scn.hasNextInt()) {
- kulgKohaValik = scn.nextInt();
- // kui kasutaja sisestab väiksema või suurema võimaliku valiku numbri
- if (kulgKohaValik != 1 && kulgKohaValik != 2) {
- kulgKohaValik = -1;
- System.out.println("Kulgmiste kohtate valisimisel tekkis viga. Palun proovige uuesti!");
- continue;
- }
- }
- }
- if (kulgKohaValik == 1) {
- Main.prindiVaguniIstekohad(rongiIstekohad, vagun, "kulgmised");
- } else {
- Main.prindiVaguniIstekohad(rongiIstekohad, vagun, "sisemised");
- }
- }
- System.out.println("Palun valige koht: ");
- if (scn.hasNextInt()) {
- koht = scn.nextInt();
- // kui kasutaja sisestab väiksema või suurema võimaliku koha numbri
- if (!(rongiIstekohad[vagun].length <= koht || koht > 0)) {
- koht = -1;
- System.out.println("Koha valisimisel tekkis viga. Palun proovige uuesti!");
- continue;
- }
- //koht on juba võetud
- if (rongiIstekohad[vagun][koht] == 1) {
- koht = -1;
- System.out.println("Koht on juba kelelgi teise poolt võetud! Palun proovige uuesti.");
- continue;
- }
- }
- }
- System.out.println();
- System.out.println();
- rongiIstekohad[vagun][koht] = 1;
- System.out.println("Olete edukalt ostnud pileti " + vagun + " vagunisse kohale " + koht);
- Main.prindiVaguniIstekohad(rongiIstekohad, vagun);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement