Diskuze: Ukol_Problem
V předchozím kvízu, Online test znalostí Java, jsme si ověřili nabyté zkušenosti z kurzu.

Člen

Veganekk:9.2.2014 19:12
Editováno 9.2.2014 19:13
zde soubor http://leteckaposta.cz/305724056
Odpovídá na Veganekk
David Hartinger:9.2.2014 19:34
David Hartinger:9.2.2014 19:34
Pokud nedáš zadání a problémový kód přímo sem do fóra, tak ti nikdo neodpoví.
Veganekk:9.2.2014 19:37
Editováno 9.2.2014 19:38
Dobre zde jsou zdrojaky.
ZADANI ZDE:
/*
* 1. Vytvořte třídu Automobil, která bude mít jako vlastnosti typ auta,
* velikost nádrže, množství paliva a spotřebu. Pro třídu napište konstruktor,
* metody set, get a metodu toString. Dále pro Automobil vytvořte metodu, která
* vypočítá vzdálenost, kterou auto ujede s množstvím paliva, které má v nádrži
* (tato metoda bude instanční, ne hybrid mezi statickou a instanční metodou). V
* metodě main vytvořte ukázkově jeden automobil a vypište na obrazovku, jakou
* vzdálenost ujede s palivem, které má v nádrži.
* 2. V metodě main vytvořte
* ArrayList několika automobilů a pomocí serializace uložte jednotlivé prvky
* listu do souboru.
* 3. V metodě main načtěte do listu jednotlivé automobily ze
* souboru a list vypište na obrazovku.
* 4. Upravte metodu main tak, aby uživatel
* po spuštění programu načetl do listu jednotlivé automobily. Dále umožněte
* uživateli do listu auta přidávat a mazat. Na konci programu prvky aktuálního
* listu uložte do souboru.
*/
Trida Automobily
import java.io.Serializable;
/**
*
*/
/**
* @author Veganekk
*
*/
public class Automobily implements Serializable
{
private String znacka;
private float obsahNadrze;
private float stavNadrze;
private float prumernaSpotreba;
private float stavTachometru;
private float KM;
public Automobily( String znacka , float obsahNadrze , float prumernaSpotreba,float KM )
{
this.znacka = znacka;
this.obsahNadrze = obsahNadrze;
this.prumernaSpotreba = prumernaSpotreba;
this.stavNadrze = 0;
this.stavTachometru = 0;
this.KM=KM;
}
public void vypisAktualniStav ()
{
System.out.println(znacka+"\nstav tachometru"+stavTachometru+",stav nadrze"+stavNadrze);
}
public void info ()
{
vypisAktualniStav();
System.out.println("průměrná spotřeba" + prumernaSpotreba + ", obsah nádrže: " + obsahNadrze);
}
public void doplnPalivo (float pocetLitru)
{
if (stavNadrze + pocetLitru > obsahNadrze) stavNadrze = obsahNadrze;
else stavNadrze += pocetLitru;
}
public void doplnPalivo()
{
stavNadrze=obsahNadrze;
}
public void vzdalenost (float ujetoKM)
{
if (spotreba(ujetoKM) > stavNadrze)
{
stavTachometru += 100* stavNadrze/prumernaSpotreba;
stavNadrze -= 0;
System.out.println("došlo palivo");
}
else
{
stavTachometru += ujetoKM;
stavNadrze -= spotreba(ujetoKM);
System.out.println("Ujede");
}
}
private float spotreba (float pocetKM)
{
return prumernaSpotreba * pocetKM / 100;
}
public void nastavTachometr(float stav)
{
stavTachometru = stav;
}
public String toString()
{
return "Auto [Znacka = " + znacka + ", Obsah nadrze=" + obsahNadrze + ", Prumerna spotreba=" + prumernaSpotreba +", Stav tachometru" +stavTachometru+"]";
}
public float getKM() {
return KM;
}
public void setKM(float kM) {
KM = kM;
}
}
A trida MAIN
import java.io.*;
import java.util.*;
/**
* @author Veganekk
*
*/
public class Main {
private static Scanner sc;
private static ArrayList<Automobily> A1 = new ArrayList<Automobily>();
private static ObjectInputStream bi;
/**
* @param args
*/
public static void main(String[] args) {
sc = new Scanner(System.in, "Windows-1250");
String volba = "";
// Cyklus_Vyber_or_Ukoneceni
while (!volba.equals("3")) {
System.out.println();
System.out.println("Vyberte si akci:");
System.out.println("1 - Přidat záznem");
System.out.println("2 - Vymazat záznam");
System.out.println("3 - Načti záznam");
System.out.println("4 - Konec");
volba = sc.nextLine();
System.out.println();
// REAKCE NA VOLBU
switch (volba) {
case "1":
objectWriter(A1);
break;
case "2":
OdeberZaznamy();
break;
case "3":
nactiObject();
break;
case "4":
System.out.println("Libovolnou klávesou ukončíte program.");
break;
default:
System.out.println("Neplatná volba.");
break;
}
}
}
public static void PridejZaznamy() {
Automobily u1 = new Automobily("Toyota", 100, 3,10);
Automobily u2 = new Automobily("Ford", 65, 2,33);
Automobily u3 = new Automobily("Citroen", 77, 4,6);
A1.add(u1);
A1.add(u2);
A1.add(u3);
}
public static void OdeberZaznamy() {
A1.remove(1);
}
public static void nactiObject(){
List<Automobily> list = new ArrayList<Automobily>();
try {
bi = new ObjectInputStream(new FileInputStream("sAample.bin"));
for (int i = 0; i < list.size(); i++) {
list.add((Automobily) bi.readObject());
}
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
for (int i = 0; i < list.size(); i++) {
System.out.println(list);
}
}
public static void objectWriter(Object o){
ObjectOutputStream bw;
try {
bw = new ObjectOutputStream(new FileOutputStream("sAample.bin"));
bw.writeObject(o);
bw.close();
} catch (FileNotFoundException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
}
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.
Zobrazeno 5 zpráv z 5.