2017-06-03 1 views
0

Ich muss ein Inventar von Objekten erstellen, die ich vor dem Drucken in eine TXT-Datei hinzufügen, löschen und ändern kann. Hilfe benötigt! Ich bin mir nicht sicher, ob ich mein Objekt richtig aufstelle oder ob es ein Array sein muss. Ich habe ein Buch, aber es erwähnt nichts von den Prozeduren, die ich für Objekte hier brauche.Versuchen, Objekte hinzuzufügen, zu ändern und zu entfernen und dann in Textdatei zu drucken

das ist mein Fahrzeug Objekt

package PortfolioProject; 

public class Vehicle { 
    // Variables 
    private String make; 
    private String model; 
    private String color; 
    private int year; 
    private int mileage; 

    public String getMake() { 
     return make; 
    } 

    public void setMake(String make) { 
     this.make = make; 
    } 
    public String getModel() { 
     return model; 
    } 
    public void setModel(String model) { 
     this.model = model; 
    } 
    public String getColor() { 
     return color; 
    } 
    public void setColor(String color) { 
     this.color = color; 
    } 
    public int getYear() { 
     return year; 
    } 
    public void setYear(int year) { 
     this.year = year; 
    } 
    public int getMileage() { 
     return mileage; 
    } 
    public void setMileage(int mileage) { 
     this.mileage = mileage; 
    } 

} 

Dies ist das Programm, das Objekt

package PortfolioProject; 

import java.io.File; 
import java.io.IOException; 
import java.io.PrintWriter; 
import java.util.Scanner; 

public class Inventory { 
    public static void main(String[] args) { 
     Scanner scan = new Scanner(System.in); 




     Vehicle automobile = new Vehicle(); 



     System.out.print("Make?"); 
     String inMake = scan.nextLine(); 
     automobile.setMake(inMake); 

     System.out.print("Model?"); 
     String inModel = scan.nextLine(); 
     automobile.setModel(inModel); 

     System.out.print("Color?"); 
     String inColor = scan.nextLine(); 
     automobile.setColor(inColor); 

     System.out.print("Year?"); 
     int inYear = scan.nextInt(); 
     automobile.setYear(inYear); 

     System.out.print("Mileage?"); 
     int inMileage = scan.nextInt(); 
     automobile.setMileage(inMileage); 




     File file = new File("output.txt"); 
     // write to file 
     try { 
      PrintWriter output = new PrintWriter(file); 
      output.println("Make: " + automobile.getMake()); 
      output.println("Model: " + automobile.getModel()); 
      output.println("Color: " + automobile.getColor()); 
      output.println("Year: " + automobile.getYear()); 
      output.println("Mileage: " + automobile.getMileage()); 
      output.close(); 
     } catch (IOException ex) { 
      System.out.printf("ERROR: %s\n", ex); 

    } 
     scan.close(); 

    } 
} 
+0

und was ist das Problem? – niceman

+0

Können Sie eine Fehlermeldung teilen, die Sie erhalten? – Blasanka

+0

Das Problem ist, ich gebe nur ein Objekt aus, das ich nicht ändern oder löschen kann. Ich habe unermüdlich über das Internet nach diesen Methoden gesucht, die auf Benutzereingaben basieren, und ich kann keine Lösung finden. –

Antwort

0

Vor dem Schreiben in der Datei verwenden, können Sie überprüfen, ob vales von dem Objekt (automobile) oder nicht kommen durch mit system.out:

System.out.println(automobile.getMake()); 

Wenn keine Werte angezeigt werden, g und wissen, dass das Problem mit der Klasse oder dem Objekt zusammenhängt. Sonst kennen Sie das Problem mit Ihrer PrintWriter. Ich

Nachdem ich Ihr Programm überprüft bemerkte, dass der Grund für die nicht-Werte im output.txt schreiben:

Grund für die keine Werte schreiben:

File file = new File("output.txt"); nur den Pfad der Textdatei zu halten. PrintWriter Datei nicht erstellt, wenn die Datei nicht existiert. read about PrintWriter.

Lösung:

zuerst das Verzeichnis Wich Textdatei existieren hinzufügen, wie unten:

File file = new File("folder/output.txt"); 

Dann können Sie sicherstellen, dass Verzeichnis entweder vorhanden oder nicht:

file.getParentFile().mkdirs(); 

Alles zusammen:

File file = new File("folder/output.txt"); 
file.getParentFile().mkdirs(); 
// write to file 
try { 
    PrintWriter output = new PrintWriter(file); 
    output.println("Make: " + automobile.getMake()); 
    output.println("Model: " + automobile.getModel()); 
    output.println("Color: " + automobile.getColor()); 
    output.println("Year: " + automobile.getYear()); 
    output.println("Mileage: " + automobile.getMileage()); 
    output.close(); 
} catch (IOException ex) { 
    System.out.printf("ERROR: %s\n", ex); 

} 
Verwandte Themen