Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.io.BufferedReader;
- import java.io.IOException;
- import java.io.InputStreamReader;
- import java.util.HashMap;
- import java.util.Map;
- /**
- * ----------------------------
- * Project: APS
- * Package: dopolnitelni_casovi.hashmaps
- * Created on: 27.5.2016, 21:40
- * IDE: IntelliJ IDEA
- * ----------------------------
- * Author: Damjan Miloshevski
- * Web: http://damjanmiloshevski.mk/
- * Phone: +389 (0)78 566 409
- * E-mail: [email protected]; [email protected]
- * Skype: damjan.milosevski
- * LinkedIn: https://mk.linkedin.com/in/damjanmiloshevski
- * GitHub: https://github.com/damsii
- * Bitbucket: https://bitbucket.org/dam_si
- */
- public class Apteka {
- public static void main(String[] args) throws IOException {
- BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
- Map<String, Lek> apteka = new HashMap<>();
- //vnesi broj na lekovi vo aptekata
- int N = Integer.parseInt(in.readLine());
- for (int i = 0; i < N; i++) {
- String[] parts = in.readLine().split(" ");
- String ime = parts[0];
- int status = Integer.parseInt(parts[1]);
- int cena = Integer.parseInt(parts[2]);
- int zaliha = Integer.parseInt(parts[3]);
- apteka.put(ime, new Lek(ime, status, cena, zaliha));
- }
- String ime = "";
- while (!(ime = in.readLine()).equalsIgnoreCase("KRAJ")) {
- ime = ime.toUpperCase();
- int kolicina = Integer.parseInt(in.readLine());
- Lek lek = apteka.get(ime);
- if (lek == null) {
- System.out.println("Nema takov lek");
- } else {
- if (!lek.kupiLek(kolicina)) {
- System.out.println("Nema dovolno lekovi");
- } else {
- System.out.println(lek.toString());
- System.out.println("Napravena naracka");
- }
- }
- }
- }
- }
- class Lek {
- private String ime;
- private int status;
- private int cena;
- private int zaliha;
- public Lek(String ime, int status, int cena, int zaliha) {
- this.ime = ime;
- this.status = status;
- this.cena = cena;
- this.zaliha = zaliha;
- }
- public String getIme() {
- return ime;
- }
- public int getStatus() {
- return status;
- }
- public int getCena() {
- return cena;
- }
- public int getZaliha() {
- return zaliha;
- }
- boolean kupiLek(int q) {
- /*
- * TODO: proveriva dali ima dovolno lekovi na zaliha, ako ima ja odzema baranata kolicina od momentalnata zaliha
- * return: true ako prodazbata e uspesna, false ako ne moze da se izvrsi
- * */
- if (q > this.zaliha) return false;
- else {
- this.zaliha -= q;
- return true;
- }
- }
- @Override
- public int hashCode() {
- int hash;
- int asciiC1 = (int) (Character.toUpperCase(ime.charAt(0)));
- int asciiC2 = (int) (Character.toUpperCase(ime.charAt(1)));
- int asciiC3 = (int) (Character.toUpperCase(ime.charAt(2)));
- hash = (29 * (29 * (29 * 0 + asciiC1) + asciiC2) + asciiC3) % 102780;
- return hash;
- }
- @Override
- public String toString() {
- /*
- * TODO: go pecati lekot so site svoi elementi vo zadadeniot format
- * */
- StringBuilder output = new StringBuilder();
- output.append(ime).append("\n");
- String status = "";
- if (this.status == 0) {
- status = "NEG";
- } else status = "POZ";
- output.append(status).append("\n").append(cena).append("\n").append(zaliha);
- return output.toString();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment