In: Computer Science
Ask the user for the name of a car maker. Display the oldest and newest car from that maker. Modify your display to include the VIN of the car. Format the output in columns of 15, 25, 5, and 18.
Standard Input | Files in the same directory |
---|---|
Toyota |
|
Required Output
What car make are you looking for?\n Oldest Toyota\n Toyota MR2 1985 WAUFFAFL2CN997894\n Newest Toyota\n Toyota Venza 2013 WAUEH54B01N735764\n
Standard Input | Files in the same directory |
---|---|
Chevrolet |
|
Required Output
What car make are you looking for?\n Oldest Chevrolet\n Chevrolet Corvair 1960 1N6BF0KM1FN003702\n Newest Chevrolet\n Chevrolet Colorado 2012 WVWAA7AJ4BW878497\n
Standard Input | Files in the same directory |
---|---|
Lamborghini |
|
Required Output
What car make are you looking for?\n Oldest Lamborghini\n Lamborghini Murciélago 2002 3GYFK66N43G898137\n Newest Lamborghini\n Lamborghini Reventón 2008 ZHWGU5BR6EL542311\n
Standard Input | Files in the same directory |
---|---|
Kia |
|
Required Output
What car make are you looking for?\n Oldest Kia\n Kia Sephia 1996 1N6AA0CC7CN222465\n Newest Kia\n Kia Forte 2012 2V4RW3D14AR530852\n
Standard Input | Files in the same directory |
---|---|
GMC |
|
Required Output
What car make are you looking for?\n Oldest GMC\n GMC Jimmy 1992 1YVHZ8BA1A5450350\n Newest GMC\n GMC Yukon 2013 1FTFW1E82AK523715\n
Standard Input | Files in the same directory |
---|---|
Volvo |
|
Required Output
What car make are you looking for?\n Oldest Volvo\n Volvo 850 1995 JH4KC1F95FC996591\n Newest Volvo\n Volvo S60 2011 WA1DGAFE7ED674601\n
Heres cars.txt that you wanted:
make model year Ford Expedition 2003 Mazda B-Series 1989 Ford Freestar 2003 Hyundai Elantra 2001 Hyundai Entourage 2008 Chevrolet Camaro 2011 Chevrolet Monte Carlo 2006 Chevrolet Blazer 1996 Chevrolet Aveo 2005 Chevrolet Corvette 1999 Mercedes-Benz E-Class 2006 Dodge Avenger 1995 Pontiac Grand Prix 1973 Mitsubishi Outlander 2011 MINI Clubman 2011 Suzuki Aerio 2007 Dodge Dakota Club 1992 Chevrolet Astro 2002 Chevrolet Tahoe 1996 Mitsubishi Mirage 1994 Porsche 944 1991 Hyundai Elantra 1994 Mercury Grand Marquis 1998 Volkswagen Golf 2001 Jaguar XJ Series 2005 Toyota Echo 2005 GMC Safari 2002 GMC Sierra 1500 2000 Chevrolet Cobalt 2005 Jeep Patriot 2008 Mazda Navajo 1991 Chevrolet Malibu 2001 Saab 900 1990 Mercury Grand Marquis 1998 Hummer H1 2004 Subaru Loyale 1993 Jeep Wrangler 1999 Ford Mustang 1994 Austin Mini Cooper S 1963 Mercedes-Benz M-Class 1998 Jeep Wrangler 2006 Honda Civic 1997 Plymouth Voyager 1994 Ford Club Wagon 1997 Audi 5000S 1984 Saturn VUE 2003 Oldsmobile Achieva 1994 Mercedes-Benz G55 AMG 2006 Chevrolet Express 3500 1997 Lexus ES 1992 Cadillac Allante 1992 Hyundai Tiburon 1997 Pontiac Grand Prix 1965 Ford Focus 2000 Mitsubishi Chariot 1987 Chrysler Prowler 2001 Land Rover Discovery 2012 Volkswagen Scirocco 1984 Ford Bronco 1984 Hyundai Accent 1996 Volkswagen Routan 2012 Volkswagen Golf 2003 GMC Terrain 2010 Ford F150 2009 GMC Sierra 2011 Dodge Ram Van 1500 2000 Chrysler 300 2009 Oldsmobile Achieva 1997 Land Rover Discovery 2008 Toyota 4Runner 2002 Porsche 911 1995 Toyota Land Cruiser 2002 Land Rover Defender 1994 Chevrolet Lumina 1997 Audi TT 2002 Chrysler Town & Country 2009 Nissan Frontier 2000 Toyota Tercel 1997 Buick Riviera 1997
I would prefer the sorting algorithm types like Bubble and Selection searches if you can. If you want car-list.txt, I can't put it in the question because it was too long. Make sure this in Java and also have notes on the program and the right formatting, thank you.
Car.java
public class Car {
private String vin, make, model;
private int year;
public Car()
{
this.vin = this.make = this.model = "";
this.year = 0;
}
public Car(String vin, String make, String model, int year)
{
this.vin = vin;
this.make = make;
this.model = model;
this.year = year;
}
public String getVin() {
return vin;
}
public String getMake() {
return make;
}
public String getModel() {
return model;
}
public int getYear() {
return year;
}
@Override
public String toString()
{
return(String.format("%15s %25s %8d %18s", getMake(), getModel(),
getYear(), getVin()));
}
}
CarAppMain.java (Main class)
import java.io.File;
import java.io.FileNotFoundException;
import java.util.ArrayList;
import java.util.Scanner;
public class CarAppMain {
private static final String FILENAME = "car-list.txt";
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
ArrayList<Car> cars = readFile(FILENAME);
char yesNo;
System.out.print("What car make are you looking for? ");
String make = sc.nextLine().trim();
System.out.println(getOldNewCar(cars, make));
}
private static ArrayList<Car> readFile(String filename)
{
ArrayList<Car> cars = new ArrayList<>();
Scanner fileReader;
try
{
fileReader = new Scanner(new File(filename));
while(fileReader.hasNextLine())
{
// assuming fields in a line of the input file are separated by
comma
String[] data = fileReader.nextLine().trim().split(",");
String make = data[0];
String model = data[1];
int year = Integer.parseInt(data[2]);
String vin = data[3];
cars.add(new Car(vin, make, model, year));
}
fileReader.close();
}catch(FileNotFoundException fnfe){
System.out.println(filename + " could not be found!
Exiting..");
System.exit(0);
}
return cars;
}
private static String getOldNewCar(ArrayList<Car> cars,
String make)
{
ArrayList<Car> makes = new ArrayList<>();
String resultStr = "";
for(Car c : cars)
{
if(c.getMake().equalsIgnoreCase(make))
makes.add(c);
}
if(makes.isEmpty())
{
System.out.println("Sorry, no cars found for make " + make +
"!\n");
return resultStr;
}
// find the oldest and newest cars
int minYear = makes.get(0).getYear();
int minIndex = 0;
for(int i = 0; i < makes.size(); i++)
{
if(makes.get(i).getYear() < minYear)
{
minYear = makes.get(i).getYear();
minIndex = i;
}
}
resultStr += "Oldest " + make + ":\n" + makes.get(minIndex) +
"\n";
int maxYear = makes.get(0).getYear();
int maxIndex = 0;
for(int i = 0; i < makes.size(); i++)
{
if(makes.get(i).getYear() > maxYear)
{
maxYear = makes.get(i).getYear();
maxIndex = i;
}
}
resultStr += "Newest " + make + ":\n" + makes.get(maxIndex) +
"\n";
return resultStr;
}
}
********************************************************* SCREENSHOT *******************************************************
INPUT FILE (car-list.txt) - This file needs to be created before running the code and this file should be created within the same working directory where all the .java files will be residing.
CONSOLE OUTPUT :