1.How do I Print out Make,Years? output I have right now \"C:\\Program Files\\Ja
ID: 3849513 • Letter: 1
Question
1.How do I Print out Make,Years?
output I have right now
"C:Program FilesJavajdk1.8.0_131injava" "-javaagent:C:Program FilesJetBrainsIntelliJ IDEA 2017.1.2libidea_rt.jar=52867:C:Program FilesJetBrainsIntelliJ IDEA 2017.1.2in" -Dfile.encoding=UTF-8 -classpath "C:Program FilesJavajdk1.8.0_131jrelibcharsets.jar;C:Program FilesJavajdk1.8.0_131jrelibdeploy.jar;C:Program FilesJavajdk1.8.0_131jrelibextccess-bridge-64.jar;C:Program FilesJavajdk1.8.0_131jrelibextcldrdata.jar;C:Program FilesJavajdk1.8.0_131jrelibextdnsns.jar;C:Program FilesJavajdk1.8.0_131jrelibextjaccess.jar;C:Program FilesJavajdk1.8.0_131jrelibextjfxrt.jar;C:Program FilesJavajdk1.8.0_131jrelibextlocaledata.jar;C:Program FilesJavajdk1.8.0_131jrelibext ashorn.jar;C:Program FilesJavajdk1.8.0_131jrelibextsunec.jar;C:Program FilesJavajdk1.8.0_131jrelibextsunjce_provider.jar;C:Program FilesJavajdk1.8.0_131jrelibextsunmscapi.jar;C:Program FilesJavajdk1.8.0_131jrelibextsunpkcs11.jar;C:Program FilesJavajdk1.8.0_131jrelibextzipfs.jar;C:Program FilesJavajdk1.8.0_131jrelibjavaws.jar;C:Program FilesJavajdk1.8.0_131jrelibjce.jar;C:Program FilesJavajdk1.8.0_131jrelibjfr.jar;C:Program FilesJavajdk1.8.0_131jrelibjfxswt.jar;C:Program FilesJavajdk1.8.0_131jrelibjsse.jar;C:Program FilesJavajdk1.8.0_131jrelibmanagement-agent.jar;C:Program FilesJavajdk1.8.0_131jrelibplugin.jar;C:Program FilesJavajdk1.8.0_131jrelib esources.jar;C:Program FilesJavajdk1.8.0_131jrelib t.jar;C:UsersNew OwnerIdeaProjectscarsoutproductioncars" com.company.Main
Listing Cars (sorted by model):
Acura
Audi
bmw
Creating new Car.
Enter a model:
Explanation / Answer
HI I am assuming your binary input file is having make and year also .. To get the make and year . you need to add the corresponding variables in Car class and there respective getter method. Please see the modified code below: -
package com.company;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Scanner;
import java.io.*;
import java.lang.Comparable;
public class Main {
public static void main(String[] args) {
// write your code here
class cars {
}
ArrayList<Car> carList = new ArrayList<Car>();
// read binary file and load cars to arraylist
Car car = null;
try {
FileInputStream fileIn = new FileInputStream("cars.ser");
ObjectInputStream in = new ObjectInputStream(fileIn);
while (true) {
try {
car = (Car) in.readObject();
carList.add(car);
} catch (IOException e) {
break;
}
}
in.close();
fileIn.close();
} catch (IOException i) {
} catch (ClassNotFoundException c) {
}
// print out list of cars
if (carList.isEmpty())
System.out.println("List is Empty!");
else {
System.out.println("Listing Cars (sorted by model,make,year):");
for (int i = 0; i < carList.size(); i++) {
System.out.println(
carList.get(i).getModel() + " " + carList.get(i).getMake() + " " + carList.get(i).getYear());
}
}
// create a new car by user
Scanner userInput = new Scanner(System.in);
System.out.println("Creating new Car. Enter a model:");
String model, make, year;
model = userInput.nextLine();
System.out.println("Enter a make: ");
make = userInput.next();
System.out.println("Enter the year: ");
year = userInput.next();
Car newCar = new Car(model, make, year);
// add to list
carList.add(newCar);
// sort list
Collections.sort(carList);
// print list
System.out.println(" Listing Cars (sorted by model):");
for (int i = 0; i < carList.size(); i++) {
System.out.println(
carList.get(i).getModel() + " " + carList.get(i).getMake() + " " + carList.get(i).getYear());
}
// save arrayList to file
try
{
FileOutputStream fileOut = new FileOutputStream("cars.ser");
ObjectOutputStream out = new ObjectOutputStream(fileOut);
for (int i = 0; i < carList.size(); i++) {
out.writeObject(carList.get(i));
}
out.close();
fileOut.close();
} catch (IOException e) {
e.printStackTrace();
}
System.out.println("List successfully backed up!");
}
}
class Car implements Serializable, Comparable<Car> {
private String model;
private String make;
private String year;
Car(String model, String make, String year) {
this.model = model;
this.make = make;
this.year = year;
}
public String getModel() {
return this.model;
}
public String getMake() {
return this.model;
}
public String getYear() {
return this.year;
}
@Override
public int compareTo(Car o) {
int i;
i = this.model.compareTo(o.model);
if (i != 0)
return i;
i = this.make.compareTo(o.make);
if (i != 0)
return i;
else
return this.year.compareTo(o.year);
}
}
Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.