2020. február 10., hétfő

Java mintaprogramok

 ----------------------------
Kérjen be egy számot, majd írja ki eddig a számig az összes prímszámot!
----------------------------
import extra.*;
public class Gyak1_6{
  public static void main(String[]args){
    int a, hatar;
    boolean prim;
    hatar=Console.readInt("Meddig: ");
    for(a=2;a<=hatar;a++){
      prim=true;
      for(int i=2; i<=Math.sqrt(a)&prim; i++)
        if(a%i==0) prim=false;
      if(prim) System.out.print(a+"  ");
    }
  }
}

----------------------------
Írjuk ki a tökéletes számokat (osztóinak összege – kivéve magát a számot – megegyezik 
a számmal, pl. 6) N-ig a képernyőre!
------------------------------
 import extra.*;
public class Gyak1_7{
  public static void main(String[]args){
    int n=Console.readInt("N: ");
    for(int i=1;i<=n;i++){
      int osszeg=0;
      for(int j=1;j<=i/2;j++)
        if(i%j==0) osszeg+=j;
      if(osszeg==i)    
        System.out.println(i+" ");
    }
  }
}

----------------------------
 
Gömb felszíne és térfogata! 
 ----------------
 
 import extra.*;

public class Gyak1_1{
  public static void main(String [] args){
    double r, f, v;
    r = Console.readDouble("A gomb sugara: ");
    f = 4 * r * r * Math.PI;
    v = 4 * Math.pow(r,3) * Math.PI / 3;
    //vagy: v = 4 * r *r * r * Math.PI / 3;
    System.out.println("A gomb felszine: " + f);
    System.out.println("A gomb terfogata: " + v);
  }
}

----------------------------
Adott pénzösszeget kap, írja ki, hogy milyen címletekben lehet minimális 
számú pénzzel kifizetni úgy, hogy 5000, 1000, 500, 100-as cimletek vannak!
----------------------- 
 import extra.*;

public class Gyak1_2{
  public static void main(String[] args){
    int cimlet1=5000, cimlet2=1000, cimlet3=500, cimlet4=100;
    int db1, db2, db3, db4;
    int osszeg=Console.readInt("A penzosszeg: ");
    db1=osszeg/cimlet1;
    osszeg%=cimlet1;
    db2=osszeg/cimlet2;
    osszeg%=cimlet2;
    db3=osszeg/cimlet3;
    osszeg%=cimlet3;
    db4=osszeg/cimlet4;
    System.out.println(cimlet1+": "+db1+" db");
    System.out.println(cimlet2+": "+db2+" db");
    System.out.println(cimlet3+": "+db3+" db");
    System.out.println(cimlet4+": "+db4+" db");
  }
}

----------------------------
 Kap két számot hasonlítsa össze,írja ki melyik a nagyobb vagy kisebb vagy egyenlő!
 
 ----------------------
import extra.*;

public class Gyak1_3 {
  public static void main(String[] args) {
    long fizFonok = Console.readLong("Fonokenek fizetese: ");
    long fizSajat = Console.readLong("On fizetese: ");
    if (fizFonok > fizSajat)
      System.out.println("A fonok fizetese nagyobb, ez nem meglepo!");
    else if (fizFonok < fizSajat)
      System.out.println("Tobbet keresek, mint a fonok!");
    else
      System.out.println("Ugyanannyit keresek, mint a fonok!");
  }
}

----------------------------
Ezen a  héten mennyi kalóriát fogyasztottunk az egyes napokon. 
összesen és átlagosan!
 
----------------------------
 import extra.*;

public class Gyak1_4 {
  public static void main(String[] args) {
    int osszes=0;
    double atlag;
    for(int i=1;i<=7;i++)
      osszes+=Console.readInt(i+". napi kaloriafogyasztas: ");
    atlag=osszes/7.;
    System.out.println("Heti kaloriafogyasztas: "+osszes);
    System.out.println("Napi atlag: "+atlag);
  }
}

----------------------------
Olvasson be osztályzatokat 0 végjelig, majd számolja meg, hány 5-ös volt közöttük, és az átlagot!
-----------------------------
import extra.*;

public class Gyak1_5 {
  public static void main(String[] args) {
    int jegy,sum=0,n=0,jeles=0;
    double atlag;
    jegy=Console.readInt("Jegy: ");
    while(jegy!=0){
      sum+=jegy;
      n++;
      if(jegy==5) jeles++;
      jegy=Console.readInt("Jegy: ");
    }
    atlag=1.0*sum/n;
    System.out.println("Jelesek szama: "+jeles);
    System.out.println("A jegyek atlaga: "+atlag);
  }
}

----------------------
Készítsen egy KaveAutomata osztályt, melynek adatai: kávémárka, ár (Ft/dl), a tartályban lévő mennyiség, 
a tartály kapacitása. A konstruktor paramétereken keresztül inicializálja a fajtát, az árat és a kapacitást, 
a tartály legyen tele. Készítse el az alábbi metódusokat:
- beállító és lekérdező metódusok az árra.
- vesz: paraméterként adhatjuk meg, hogy hány dl-t veszünk, visszatérési érték a fizetendő összeg. 
  Ha nincs a venni kívánt mennyiség a tartályban, akkor -1 legyen a visszatérési érték.
- feltölt: tele tölti a tartályt, visszatérési értéke a betöltött mennyiség.
- toString: az összes adat kiírására.
A vezérlő KaveProgram osztályban hozzon létre egy KaveAutomata osztályú objektumot, majd szimulálja a működését.
----------------------------

import extra.*;

class KaveAutomata{
  private String marka;
  private double ar;
  private double mennyiseg;
  private double kapacitas;
  
  public KaveAutomata(String marka, double ar, double kapacitas){
    this.marka = marka;
    this.ar = ar;
    this.kapacitas = kapacitas;
    mennyiseg = kapacitas;
  }

/* vagy
  public KaveAutomata(String aMarka, double aAr, double aKapacitas){
    marka = aMarka;
    ar = aAr;
    kapacitas = aKapacitas;
    mennyiseg = kapacitas;
  }
*/  

  public double getAr(){
    return ar;
  }

  public void setAr(double ar){
    this.ar = ar;
  }

//a feledatspecifikációban nem szereplő plussz metódus  
  public double getMennyiseg(){
    return mennyiseg;
  }
  
  public double vesz(double menny){
    if (menny<=mennyiseg){
      mennyiseg-=menny;
      return menny*ar;
    }
    else{
      return -1;
    }
  }
  
  public double feltolt(){
    double kell=kapacitas-mennyiseg;
    mennyiseg=kapacitas;
    return kell;
  }
  
  public String toString(){
    return "\nMarka: "+marka+"\nAr: "+ar+"\nKapacitas: "+kapacitas+
      " Mennyiseg: "+mennyiseg;
  }

}

public class KaveProgram{
  private KaveAutomata automata;
  
  public KaveProgram(){
    automata = new KaveAutomata("Omnia",100,50);
  }
  
  public void vezerel(){
    double fiz;
    do{
      fiz = automata.vesz(Console.readDouble("Hany decit: "));
      if (fiz!=-1){
        System.out.println(fiz+" Ft-ot kell fizetnie");
      }else{
        System.out.println("Nincs annyi");
      }
      System.out.println(automata);
    }while(automata.getMennyiseg()>1);
    System.out.println("Feltoltes "+automata.feltolt()+" dl");
  }


  public static void main(String[] args) {
    KaveProgram kaveProgram  = new KaveProgram();
    kaveProgram.vezerel();
  }
}
    
---------------------------------------------------
Forma 1 autóversenypályát akarjuk szimulálni. Készítsen egy Auto osztályt, melynek adatai: 
rendszám, x pozíció, y pozíció, szög. A konstruktor paramétereken keresztül inicializálja 
a rendszámot, x pozíciót, y pozíciót, a szöget állítsa 0-ra. Készítse el az alábbi metódusokat:
- beállító és lekérdező metódusok a rendszámra.
- megy: az autó az aktuális irányában a paraméterként megadott távolságot tegye meg.
- fordul: a paraméterként megadott szöggel forduljon el.
- toString: a rendszám és a pozíció kiírására.
A vezérlő Terepasztal osztályban hozzon létre két Auto osztályú objektumot, majd szimulálja azok működését.  
---------------------------------------------------
    
class Auto{
  
  private String rendszam;
  private int x, y, iranyszog;
  
  public Auto(String rendszam, int x, int y){
    this.rendszam = rendszam;
    this.x = x;
    this.y = y;
    iranyszog = 0;
  }
  
  public void setRendszam(String aRendszam){
    rendszam = aRendszam;
  }
  
  public String getRendszam(){
    return rendszam;
  }
  
  public void megy(int tav){
    x += tav * Math.cos(Math.toRadians(iranyszog));
    y += tav * Math.sin(Math.toRadians(iranyszog));
  }
  
  public void fordul(int szog){
    iranyszog += szog;
  }
  
  public String toString(){
    return rendszam+" pozicioja: ("+x+", "+y+")";
  }
  
}

public class Terepasztal{
  private Auto auto1, auto2;
  
  public Terepasztal(){
    auto1 = new Auto("ABC123",10,20);
    auto2 = new Auto("XYZ123",0,0);
  }
  
  public void vezerel(){
    System.out.println(auto1+"\n"+auto2+"\n");
    auto1.megy(10);
    System.out.println(auto1+"\n"+auto2+"\n");
    auto1.fordul(30);
    System.out.println(auto1+"\n"+auto2+"\n");
    auto1.megy(20);
    System.out.println(auto1+"\n"+auto2+"\n");
    auto2.fordul(150);
    System.out.println(auto1+"\n"+auto2+"\n");
    auto2.megy(20);
    System.out.println(auto1+"\n"+auto2+"\n");
  }
  
  public static void main(String [] args){
    Terepasztal terepasztal = new Terepasztal();
    terepasztal.vezerel();
  }
}




Nincsenek megjegyzések:

Megjegyzés küldése