• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Konstruktywna opinia mojego kodu

Object Storage Arubacloud
0 głosów
179 wizyt
pytanie zadane 5 lutego 2017 w Nasze projekty przez biernacikkk Nowicjusz (120 p.)

Witam,

Od 2 tygodni próbuje coś pisać w Javie. Chciałbym poznać Wasze zdanie na temat mojego kodu. Jest to prosta symulacja hotelu.

package pl.kurs.hotel;

import java.util.Scanner;

public class Tester {
	public static void main(String[] args) {
		int choice = 0;
		int nrRoom;
		String name;
		int counter = 0;
		Scanner scanner = new Scanner(System.in);
		Room[] p = new Room[20];
		Hotel hotel = new Hotel();
		for(int i =0;i<p.length;i++){
			p[i] = new Room(i);
		}

		while(true){
		System.out.println();
		System.out.println("Witaj w hotelu.");
		System.out.println("1.Wynajmij pokój.");
		System.out.println("2.Zobacz wolne pokoje.");
		System.out.println("3.Wynajmowane pokoje(po imieniu).");
		System.out.println("4.Czy osoba po podanym imieniu wynajmuje.");
		System.out.println("5.Zwolnij wszystkie pokoje wynajmowane przez.");
		System.out.println("6.Wyjście.");
		System.out.print("Twój wybór: ");
		choice = scanner.nextInt();
		switch(choice){
		case 1:
			try{
			System.out.print("Podaj numer pokoju: ");
			nrRoom = scanner.nextInt();
			hotel.rentRoom(p[nrRoom-1]);
			}catch(ArrayIndexOutOfBoundsException e){
				System.out.println("Za duża liczba...");
			}
			break;
		case 2: 
			
			System.out.print("Wolne pokoje: ");
			for(int i =0;i<p.length;i++){
				hotel.orFree(p[i]);
			}
			break;
		case 3:
			System.out.print("Podaj imie: ");
			name = scanner.next();
			for(int i =0;i<p.length;i++){
				if(hotel.rentedRooms(name, p[i])){
					counter++;
				}
				
			}
			System.out.println("Osoba o imieniu " + name + " wynajmuje " + counter + " pokoje.");
			for(int i =0;i<p.length;i++){
				if(hotel.rentedRooms(name, p[i])){
					System.out.print((i+1) + ", ");
				}
				
			}
			break;
		case 4:
			System.out.print("Podaj imie: ");
			name = scanner.next();
			for(int i =0;i<p.length;i++){
				if(hotel.orRentRoom(name, p[i])){
					counter++;
				} 
			}
			if(counter>0){
				System.out.println("Osoba " + name + " wynajmuje u nas pokój.");
				break;
			}if(counter<=0){
				System.out.println("Osoba " + name + " nie wynajmuje u nas pokoju.");
			}
			break;
		case 5:
			System.out.print("Podaj imie: ");
			name = scanner.next();
			for(int i =0;i<p.length;i++){
				hotel.allFree(name, p[i]);	
			}
			break;
		case 6:
			System.exit(0);
			break;
		default: System.out.println("Coś poszło nie tak...");
			break;
		}
		
		}
		
	
	}

	}

package pl.kurs.hotel;

public class Room {
	
	private int numberRoom;
	private String owner;
	private boolean isFree;
	
	public Room(int numberRoom){
		this.numberRoom = numberRoom;
		owner = null;
		isFree = true;
	}
	public Room(){
		
	}
	
	public String getOwner(){
		return owner;
	}
	public int getNumberRoom(){
		return numberRoom;
	}
	public void setOwner(String owner){
		this.owner = owner;
	}
	public boolean getIsFree(){
		return isFree;
	}
	public void setIsFree(boolean isFree){
		this.isFree = isFree;
	}

}
package pl.kurs.hotel;


import java.util.Scanner;

public class Hotel {
	
	private boolean isFree;
	private Scanner scanner = new Scanner(System.in);
	private String name;
	
	public void rentRoom(Room p){


		if(p.getIsFree()){
			System.out.print("Podaj imie: ");
			name = scanner.next();
			p.setOwner(name);
			p.setIsFree(false);
			System.out.println("Wynajęty został  pokój nr " + (p.getNumberRoom()+1) + " i jego właścicielem jest " + p.getOwner());
		}else if(!p.getIsFree()) {
			System.out.println("Zajęte.");
		} else{
			System.out.println("Jakiś bład...");
		}
	}
	
	public void orFree(Room p){
		if(p.getIsFree()){
			System.out.print((p.getNumberRoom()+ 1) + ", ");
		}
	}

	public boolean rentedRooms(String name, Room p){
		if(name.equals(p.getOwner())){
			return true;
		} else
			return false;
	}
	
	public boolean orRentRoom(String name,Room p){
		if(name.equals(p.getOwner())){
			return true;
		} else
		return false;
	}
	
	public void allFree(String name,Room p){
		if(name.equals(p.getOwner())){
			p.setOwner(null);
			p.setIsFree(true);
		}
	}

	
}

 

1
komentarz 5 lutego 2017 przez efiku Szeryf (75,160 p.)

Pamiętaj, nie bierz personalnie CR kodu. Traktuj to jako wskazówki:) 

1 odpowiedź

0 głosów
odpowiedź 5 lutego 2017 przez event15 Szeryf (93,790 p.)
Ten kod nie jest na pewno obiektowy :)
komentarz 5 lutego 2017 przez biernacikkk Nowicjusz (120 p.)
Czyli? Jakieś podpowiedzi? Tak jak mówiłem dopiero zaczynam.

Podobne pytania

0 głosów
2 odpowiedzi 261 wizyt
pytanie zadane 22 stycznia 2017 w Nasze projekty przez hskrzypczak98 Nowicjusz (120 p.)
+4 głosów
11 odpowiedzi 555 wizyt
pytanie zadane 15 lutego 2016 w Nasze projekty przez klakierr Początkujący (370 p.)
0 głosów
0 odpowiedzi 130 wizyt

92,555 zapytań

141,402 odpowiedzi

319,539 komentarzy

61,938 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...