Witam! Mam takie zadanie:
Napisac funkcje w której pierwszy parametr to nazwa
Drugi liczba sztuk
Trzeci cena
Funkcja zwraca liczbe sztuk, wprowadza rabat 10% dla towarow których cena jest większa niż 100 i liczba sztuk większa niż 250.
i za żadne skarby nie umiem sobie z nim do końca poradzić - albo w pliku nic się nie zapisuje, albo kompilator wyrzuca błędy typu: Exception in thread "main" java.lang.NumberFormatException: For input string: "jeansym"
at java.lang.NumberFormatException.forInputString(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at pliki.pliki(pliki.java:18)
at Test.main(Test.java:23)
Cały mój kod:
import java.io.*;
public class pliki {
String nazwa;
int liczbasztuk;
int cena;
public int pliki() {
int liczniksztuk = 0;
try{
DataInputStream in = new DataInputStream(new FileInputStream("lista.txt"));
BufferedReader br = new BufferedReader(new InputStreamReader(in));
DataOutputStream out = new DataOutputStream(new FileOutputStream("lista2.txt"));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(out));
String linia;
while ((linia = br.readLine()) !=null) {
String[]tmp = linia.split(" ");
nazwa = tmp[0];
liczbasztuk = Integer.parseInt(tmp[1]);
int staracena = Integer.parseInt(tmp[2]);
for(int i=0; i<tmp.length; i++){
if(tmp[0].equalsIgnoreCase(nazwa) && Integer.valueOf(tmp[1]) > 250 && Integer.valueOf(tmp[2]) > 100)
cena = (staracena * 90)/100;
linia = (tmp[0] + " " + tmp[1] + " " + Integer.toString(cena));
System.out.println("Plik" +linia);
}
bw.write(linia);
}
br.close();
bw.close();
}
catch (IOException e){
System.out.println("Błąd!");
e.printStackTrace();
}
System.out.println("Liczba sztuk" +liczniksztuk);
return liczniksztuk;
}
}
Tutaj http://pastebin.com/dBwzDnSz wersja jaką dostałam, ale kompletnie dla mnie niezrozumiała. Proszę o jakąkolwiek pomoc, wyjaśnienie, jak rozwiązać to zadanie.