2019. szeptember 18., szerda

Könyvtári katalógus létrehozása java programozási nyelven

A könyvek metaadatait a Rekord.java osztályban példányszintű mezőkben tároljuk:

public class Rekord { 

 /* példányszintű mezők */

 public String raktari_jelzet;
 public String cim;
 public String[] szerzok;
 public int kiadasi_ev;

 /* példányszintű metódusok */

 public void kiir() {
  if(raktari_jelzet==null || cim==null) {
   System.out.println("--- torolt rekord ---\n");
   return;
   }
  System.out.println(raktari_jelzet);
  System.out.print(cim);
  if(szerzok!=null) {
   if(szerzok.length>0) {
    System.out.print(" / "+szerzok[0]);
    }
   for(int i=1;i<szerzok.length;i++) {
    System.out.print(", "+szerzok[i]); 
    }
   }
  System.out.print(".");
  if(kiadasi_ev>0) {
   System.out.print(" "+kiadasi_ev+".");
   }
  System.out.println("\n");
  }

 /* konstruktorfüggvények */

 public Rekord() {
  raktari_jelzet=null;
  cim=null;
  szerzok=null;
  kiadasi_ev=0;
  }

 public Rekord(String r) {
  raktari_jelzet=r;
  cim=null;
  szerzok=null;
  kiadasi_ev=0;
  }

 public Rekord(String r,String c) {
  raktari_jelzet=r;
  cim=c;
  szerzok=null;
  kiadasi_ev=0;
  }

 public Rekord(String r,String c,int k) {
  raktari_jelzet=r;
  cim=c;
  szerzok=null;
  kiadasi_ev=k;
  }

 public Rekord(String r,String c,String s1,int k) {
  raktari_jelzet=r;
  cim=c;
  szerzok=new String[1]; //egy szerző van
  szerzok[0]=s1;
  kiadasi_ev=k;
  }

 public Rekord(String r,String c,String s1,String s2,int k) {
  raktari_jelzet=r;
  cim=c;
  szerzok=new String[2]; //két szerző van
  szerzok[0]=s1;
  szerzok[1]=s2;
  kiadasi_ev=k;
  }

 public Rekord(String r,String c,String s1,String s2,String s3,int k) {
  raktari_jelzet=r;
  cim=c;
  szerzok=new String[3]; //három szerző van
  szerzok[0]=s1;
  szerzok[1]=s2;
  szerzok[3]=s3;
  kiadasi_ev=k;
  }

 public static void main(String[] args) { 
  Rekord peld1=new Rekord();
  Rekord peld2=new Rekord("ISBN 963 7222 82 0",
                          "A fantom",
                          "Robert Ludlum",
                          1989);
  Rekord peld3=new Rekord("ISBN 963 03 9005 1",
                          "Java - start!",
                          "Veg Csaba", "Juhasz Istvan",
                          1999);
  peld1.kiir();
  peld2.kiir();
  peld3.kiir();
  }
 }



A katalogus metaadatait a Katalogus.java osztályban osztályszintű mezőkben tároljuk:



public class Katalogus {

/* osztályszintű mezők */

public static String katalogus_neve;
public static int rekordok_szama;
public static Rekord[] katalogus;

/* osztályszintű metódus */

public static void info() {
  System.out.println("Katalogus informaciok:");
  System.out.println("\t[katalogus neve: "+katalogus_neve+"]");
  System.out.println("\t[rekordok szama: "+rekordok_szama+"]");
  System.out.println();
  }

public static void main(String[] args) {
  katalogus_neve="DEENK";
  rekordok_szama=3;
  katalogus=new Rekord[rekordok_szama];
  katalogus[0]=new Rekord();
  katalogus[1]=new Rekord("ISBN 963 7222 82 0",
     "A fantom",
     "Robert Ludlum",
     1989);
  katalogus[2]=new Rekord("ISBN 963 03 9005 1",
     "Java - start!",
     "Veg Csaba", "Juhasz Istvan",
     1999);
  info();
  System.out.println("A katalogusban szereplo rekordok:\n");
  for(int i=0;i<katalogus.length;i++) {
   System.out.println((i+1)+". rekord");
   katalogus[i].kiir();
   }
  }
}




A feladatot egy leszármazott osztály segítségével valósítjuk meg! A programban előforduló legfontosabb nyelvi elemek:

public class Alap31 extends Alap3 {...} (az Alap31 osztály az Alap3 ősosztály vagy szülőosztály leszármazottja lesz)
super.kiir(); (a szülőosztály kiir() eljárását hívja meg)
this("Ismeretlen",null); (az aktuális, Alap31 osztály kétparaméteres konstruktorát hívja meg "Ismeretlen" és null aktuális értékekkel)
super(s); (a szülőosztály egyparaméteres konstruktorát hívja meg s paraméterrel)


A program utasításai:




public class Alap31 extends Alap3 {

public String becenev;

public static void beallit(String v) {
  vnev=v;
  }

public void kiir() {
  super.kiir();
  if(becenev!=null) {
   System.out.println("Hivhatlak ugy, hogy "+becenev+"?");
   }
  }

public Alap31() {
  this("Ismeretlen",null);
  }
public Alap31(String s) {
  this(s,null);
  }
public Alap31(String s,String b) {
  super(s);
  becenev=b;
  }

public static void main(String[] args) {
  Alap31 peld1=new Alap31();
  Alap31 peld2=new Alap31("Ilonka");
  Alap31 peld3=new Alap31("Kata","Katinka");

  beallit("Szep");

  peld1.kiir();
  peld2.kiir();
  peld3.kiir();
  }
}



Szülő és ősosztály


public class Alap3 {

public static String vnev;
public String knev;
public void kiir() {
 System.out.println("Hello "+vnev+" "+knev+"!");
 }

public Alap3(String s) {
 knev=s;
 }

public static void main(String[] args) {
 Alap3 peld1=new Alap3("Kata");
 Alap3 peld2=new Alap3("Szilvi");
 vnev="Nagy";
 peld1.kiir();
 peld2.kiir();
 }
}



Forrás:  http://bodaistvan.hu/prog/ 
https://silver.drk.hu/info-kvtar/3felev/zsu/peldaprogramok.html
http://java.progtanulo.hu/book/export/html/162
http://users.atw.hu/nagyimi/prog/egyszeru_Java_programok.html
http://java.inf.elte.hu/java-1.2/awt/awtprog.html
http://java2.uw.hu/
http://www.petrik.hu/files/tamop/SZINFO13/SZINFO13_TJ.pdf
https://users.iit.uni-miskolc.hu/~vargae/Segedlet/ElekT_Java2_kezdo.pdf
https://www.tutorialspoint.com/compile_java_online.php




 

Nincsenek megjegyzések:

Megjegyzés küldése