Skip to content
Snippets Groups Projects
Commit 03f24fbb authored by Erkki Kaila's avatar Erkki Kaila
Browse files

valmis versio

parent 60a1bdc1
No related branches found
No related tags found
No related merge requests found
......@@ -15,4 +15,9 @@ public class KantaAsiakas extends Asiakas{
public void setAlennusprosentti(int alennusprosentti) {
this.alennusprosentti = alennusprosentti;
}
@Override
public String toString() {
return super.toString() + ", alennusprosentti: " + alennusprosentti;
}
}
public class Tuote {
import java.io.Serializable;
public class Tuote implements Serializable {
private static final long serialVersionUID = 1L;
private String nimi;
private int saldo;
private double hinta;
......@@ -45,5 +50,10 @@ public class Tuote {
if (hinta >= 0)
this.hinta = hinta;
}
@Override
public String toString() {
return nimi + " (" + hinta + " euroa), saldo: " + saldo;
}
}
import java.io.File;
import java.io.FileNotFoundException;
import java.io.PrintWriter;
import java.io.*;
import java.util.ArrayList;
import java.util.Scanner;
......@@ -13,10 +11,8 @@ import java.util.Scanner;
public class VerkkokauppaIO {
public static void main(String[] args) {
ArrayList<Asiakas> al = lueAsiakkaat("asiakkaat.csv");
for (Asiakas as : al) {
System.out.println(as);
}
// Tähän voi kirjoittaa koodia, jolla testata
// kirjoitus- ja lukumetodien toimintaa helposti
}
private static final String EROTIN = ";";
......@@ -49,6 +45,12 @@ public class VerkkokauppaIO {
return data;
}
/**
* Kirjoittaa asiakaslistan annetun nimiseen tiedostoon.
*
* @param asiakasLista lista kirjoitettavista asiakkaista.
* @param tiedostonNimi kirjoitettavan tiedoston nimi
*/
public static void kirjoitaAsiakkaat(ArrayList<Asiakas> asiakasLista,
String tiedostonNimi) {
String data = "";
......@@ -98,4 +100,40 @@ public class VerkkokauppaIO {
}
return asiakkaat;
}
/**
* Kirjoittaa tuotelistan annetun nimiseen tiedostoon.
*
* @param tuotelista lista tuotteista
* @param tiedostonNimi kirjoitettavan tiedoston nimi
*/
public static void kirjoitaTuotteet(ArrayList<Tuote> tuotelista, String tiedostonNimi) {
try (ObjectOutputStream oos =
new ObjectOutputStream(
new FileOutputStream(tiedostonNimi))) {
oos.writeObject(tuotelista);
} catch (IOException e) {
System.out.println("Tapahtui virhe: " + e);
}
}
/**
* Lukee tuotelistan tiedostosta
*
* @param tiedostonNimi tiedoston nimi
* @return listan tuotteita
*/
public static ArrayList<Tuote> lueTuotteet(String tiedostonNimi) {
try (ObjectInputStream ois = new ObjectInputStream(new FileInputStream(tiedostonNimi))) {
ArrayList<Tuote> tlista = (ArrayList<Tuote>) ois.readObject();
return tlista;
} catch (IOException e) {
System.out.println("Tapahtui virhe: " + e);
} catch (ClassNotFoundException e) {
// Tämä virhe tulee, jos luettu tieto ei ole yhteensopiva
// sen luokan kanssa, jonka tyyppiseksi se yritetään muuntaa
System.out.println("Tapahtui virhe: " + e);
}
return null;
}
}
......@@ -11,4 +11,9 @@ public class VirtuaalinenTuote extends Tuote {
// tilaukseen
return 1000;
}
@Override
public String toString() {
return super.getNimi() + " (" + super.getHinta() + "), virtuaalinen tuote.";
}
}
\ No newline at end of file
12345;Antti Asiakas;10.0
54321;Anna Asiakas;55.5
99999;Keijo Keksitty;1000.0
\ No newline at end of file
No preview for this file type
No preview for this file type
No preview for this file type
File added
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment