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{ ...@@ -15,4 +15,9 @@ public class KantaAsiakas extends Asiakas{
public void setAlennusprosentti(int alennusprosentti) { public void setAlennusprosentti(int alennusprosentti) {
this.alennusprosentti = 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 String nimi;
private int saldo; private int saldo;
private double hinta; private double hinta;
...@@ -45,5 +50,10 @@ public class Tuote { ...@@ -45,5 +50,10 @@ public class Tuote {
if (hinta >= 0) if (hinta >= 0)
this.hinta = hinta; this.hinta = hinta;
} }
@Override
public String toString() {
return nimi + " (" + hinta + " euroa), saldo: " + saldo;
}
} }
import java.io.File; import java.io.*;
import java.io.FileNotFoundException;
import java.io.PrintWriter;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Scanner; import java.util.Scanner;
...@@ -13,10 +11,8 @@ import java.util.Scanner; ...@@ -13,10 +11,8 @@ import java.util.Scanner;
public class VerkkokauppaIO { public class VerkkokauppaIO {
public static void main(String[] args) { public static void main(String[] args) {
ArrayList<Asiakas> al = lueAsiakkaat("asiakkaat.csv"); // Tähän voi kirjoittaa koodia, jolla testata
for (Asiakas as : al) { // kirjoitus- ja lukumetodien toimintaa helposti
System.out.println(as);
}
} }
private static final String EROTIN = ";"; private static final String EROTIN = ";";
...@@ -49,6 +45,12 @@ public class VerkkokauppaIO { ...@@ -49,6 +45,12 @@ public class VerkkokauppaIO {
return data; return data;
} }
/**
* Kirjoittaa asiakaslistan annetun nimiseen tiedostoon.
*
* @param asiakasLista lista kirjoitettavista asiakkaista.
* @param tiedostonNimi kirjoitettavan tiedoston nimi
*/
public static void kirjoitaAsiakkaat(ArrayList<Asiakas> asiakasLista, public static void kirjoitaAsiakkaat(ArrayList<Asiakas> asiakasLista,
String tiedostonNimi) { String tiedostonNimi) {
String data = ""; String data = "";
...@@ -98,4 +100,40 @@ public class VerkkokauppaIO { ...@@ -98,4 +100,40 @@ public class VerkkokauppaIO {
} }
return asiakkaat; 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 { ...@@ -11,4 +11,9 @@ public class VirtuaalinenTuote extends Tuote {
// tilaukseen // tilaukseen
return 1000; 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