κλαση σε java

Συζητήσεις για την Java

Συντονιστές: WebDev Moderators, Super-Moderators

Απάντηση
AARON24
Δημοσιεύσεις: 2
Εγγραφή: 09 Μάιος 2011 01:21

κλαση σε java

Δημοσίευση από AARON24 » 09 Μάιος 2011 01:33

Γεια σας....εχω την παρακατω κλαση η οποια παιρνει τισ τιμεσ και τισ καταχωρει σε ενα αρχειο τχτ.
αυτο που θελω είναι να κανω ελεγχο ωστε οταν δωσω ιδιο Id να αυξανεται η ποσοτητα του συγκεκριμενου item δλδ να αποθηκεύει το ιδιο προιον η Posotita να αυξάνεται κατα 1 Πρεπει να το κάνω ξεχωριστη κλαση??
Μπορει να βοηθησει καποιοσ????????

/*

import java.io.BufferedReader;
import java.io.DataInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import javax.swing.JComponent;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JTextField;

public class Items extends Pelatis{
private String Id;
private int Posotita;
private String Perigrafi;
private double Price;


public void setId(String val){
this.Id=val;
}
public String getId(){
return Id;
}
public void setPosotita(int val){
this.Posotita=val;
}
public int getPosotita(){
return Posotita;
}
public void setPerigrafi(String val){
this.Perigrafi=val;
}
public String getPerigrafi(){
return Perigrafi;
}
public void setPrice(double val){
this.Price=val;
}
public double getPrice(){
return Price;
}


//me8odos perasmatos timwn stis metavlhtes ths Items

public void addStoixeia() {

int numberformat = 0;
int numberdigits = 0;

// read in user input
JTextField id = new JTextField();
JTextField posotita = new JTextField();
JTextField price = new JTextField();
JTextField perigrafi = new JTextField();

final JComponent[] inputs = new JComponent[]{
new JLabel("Κωδικός"),
id,
new JLabel("Διαθέσιμη Ποσότητα"),
posotita,
new JLabel("Τιμή"),
price,
new JLabel("Περιγραφή"),
perigrafi
};

//elegxos pws kapoio apo ta plaisia den einai kena


while (id.getText().equals("") || posotita.getText().equals("") || price.getText().equals("") ||
perigrafi.getText().equals("") || numberformat == 1 || numberdigits == 1)
{


try{
JOptionPane.showMessageDialog(null, inputs, "ΚΑΤΑΧΩΡΗΣΗ", JOptionPane.PLAIN_MESSAGE);
Id = id.getText();
Posotita = Integer.parseInt(posotita.getText());
Price = Double.parseDouble(price.getText());
Perigrafi = perigrafi.getText();
}
catch(NumberFormatException nfe)
{
//Handle exception
numberformat = 0;
}


if (id.getText().equals("") || posotita.getText().equals("") || price.getText().equals("") || perigrafi.getText().equals("") || numberformat == 1) {
JOptionPane.showMessageDialog(null, "Θα πρέπει να συμπληρώσετε όλα τα πεδία!", "Απέτυχε", JOptionPane.WARNING_MESSAGE);
}

}
}

public String toString() {
return String.format(getId() + "#" + getPosotita() + "#" + getPrice() + "#" + getPerigrafi());
}

//pros8hkh(append) mias grammhs String se arxeio .txt me onoma filename
public void write2Txt(String temp2, String filename) {
try {

boolean append = true;
FileWriter fw = new FileWriter(filename, append);

fw.write(temp2 + "\n");//appends the string to the file
fw.close();
} catch (IOException ioe) {
String message1 =
String.format(ioe.getMessage());
JOptionPane.showMessageDialog(null, message1, "file save error", JOptionPane.WARNING_MESSAGE);
}
}




public void modifyThing(String filename, String id) {

try {
boolean check = false;
String tempfid = null;
String tempfposotita=null;//gia perasma sthn findid
int change = 1;
// Open the file that is the first
// command line parameter
FileInputStream fstream = new FileInputStream(filename);
// Get the object of DataInputStream
DataInputStream in = new DataInputStream(fstream);
BufferedReader br = new BufferedReader(new InputStreamReader(in));
String strLine;
//Read File Line By Line
while ((strLine = br.readLine()) != null) {
//append(save) se arxeio txt
String[] temp2 = null;
temp2 = lineDelimiter(strLine, 4, "#"); // se posa strings tha spasei px 4 edw


if (temp2[0].equals(id) ) {
check = true;
Items itm = new Items();
itm.setId(temp2[0]);
itm.Posotita = Integer.parseInt(temp2[1]);
itm.Price = Double.parseDouble(temp2[2]);
itm.setPerigrafi(temp2[3]);

change = itm.showChangeDetails();
if (change == 0) {
itm.addStoixeia();
strLine = itm.toString();
//pairnei to id wste parakatw na elegksei an sto temp uparxei diplo-eggrafh
tempfid = itm.getId();

}
}
Items eggrafhstoarxeio = new Items();
eggrafhstoarxeio.write2Txt(strLine, "temp1.txt");
//dhmiourgia tou temp1.txt me allagmenh thn mia grammh

}
if (check == false) {
String msg =
String.format("Δε βρέθηκε κανένα προϊόν με ID <" + id + " " + ">");
JOptionPane.showMessageDialog(null, msg, "Modify professor - not found!", JOptionPane.WARNING_MESSAGE);
}
//Close the input stream
in.close();
String result3[] = findFullName("temp1.txt", tempfid);

if (result3[1] != null)//an dld uparxoun 2 akrivws idies egrafes
{

//Αν υπαρχει εγγραφη με το ιδιο ΙD θελω να αυξάνεται η ποσοτητα της ίδιασ εγγραφής δλδ Posotita ++


}

else {
rename("temp1.txt", filename);
if (change == 0) {
String msg = String.format("Η εγγραφή άλλαξε"); //an pathsw NO pio panw apla to emfanizei
JOptionPane.showMessageDialog(null, msg, "Modify professor - successfully changed!", JOptionPane.INFORMATION_MESSAGE);
}
}

}
catch (Exception e) {//Catch exception if any
//System.err.println("Error: " + e.getMessage());
String message1 =
String.format(e.getMessage());
JOptionPane.showMessageDialog(null, message1, "file not found", JOptionPane.WARNING_MESSAGE);
}

}

}

Απάντηση

Επιστροφή στο “Java”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες