Avatar
Veganekk
Člen
Avatar
Veganekk:

Dobrý den mám problém s ukolem. Nejde mi nacist ze souboru a vypsat a mazat prvek... Uz se nad tim lamu hlavu dlouho a nemohu nic vymyslet. Prosim o radu jenz fakt nevim. Dekuji za pomocne rady
P.S zadaní ukolu je v Hlavni tride

Editováno 9.2.2014 19:07
Odpovědět 9.2.2014 19:06
Rád se učím novým věcem. A věci co nechápu rád pochopím a naučím.
Avatar
Veganekk
Člen
Avatar
Veganekk:

zde soubor http://leteckaposta.cz/305724056

Editováno 9.2.2014 19:13
Nahoru Odpovědět 9.2.2014 19:12
Rád se učím novým věcem. A věci co nechápu rád pochopím a naučím.
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Veganekk
David Čápka:

Pokud nedáš zadání a problémový kód přímo sem do fóra, tak ti nikdo neodpoví.

Nahoru Odpovědět  +1 9.2.2014 19:34
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
Veganekk
Člen
Avatar
Veganekk:

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();
                }
        }
}
Editováno 9.2.2014 19:38
Nahoru Odpovědět 9.2.2014 19:37
Rád se učím novým věcem. A věci co nechápu rád pochopím a naučím.
Avatar
Veganekk
Člen
Avatar
Veganekk:

Uzavírám toto TEMA ukol po hodinach mučení zdárně hotov. Děkuji všem za pomoc :)

Nahoru Odpovědět 10.2.2014 0:42
Rád se učím novým věcem. A věci co nechápu rád pochopím a naučím.
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.