У меня есть программа, в которой я рассчитываю и распечатываю информацию о пробеге бензина.Назначение, над которым я работаю, хочет, чтобы я (ну, я думаю, он хочет) использовать ООП, конструктор и объект для передачи переменных из конструктора во всю мою программу.Это не имеет никакого смысла для меня.
Вот точные инструкции присваивания: https://drive.google.com/file/d/1D1FZKHrU4duu1UyWusPvsjVum33B8kdt/view?usp=sharing
Я попытался сделать мои исходные переменные в методе main приватными статическими переменными и поместил их правильнониже заголовка моего класса.Это сработало, но я думаю, что инструкции хотят, чтобы мой конструктор как-то включал переменные.Это просто не имеет никакого смысла для меня вообще.Я не получаю конструкторы или объекты вообще и как использовать их в этом приложении, и это чертовски расстраивает меня.
CarV3, программа, на которую ссылаются инструкции с точки зрения того, что я должен ориентировать на объект, выглядела так:
public class CarV3 {
public static int calcDistance(int sMiles1, int eMiles1){
return eMiles1 - sMiles1;
}
public static double calcMPG(int dist1, double gals1){
return dist1 / gals1;
}
public static void main(String[]Args) {
int sMiles1 = 43305;
int eMiles1 = 43422;
int dist1;
double gals1 = 7.8;
double MPG1;
String carType1 = "14 Acura MDX";
CarV3 car1 = new CarV3();
dist1 = car1.calcDistance(sMiles1, eMiles1);
MPG1 = car1.calcMPG(dist1, gals1);
System.out.printf("%52s%n%s%16s%14s%13s%12s%14s%n%s%n", "Gas Mileage Calculations", "Type of Car", "Start Miles", "End Miles", "Distance", "Gallons", "Miles/Gal",
"================================================================================");
System.out.printf("%s%15d%14d%13d%12.1f%14.1f", carType1, sMiles1,
eMiles1, dist1, gals1, MPG1);
}
}
Этот код работал раньше.Инструкции просят вычислить GPM и другие данные позже, поэтому моя программа превращается в нечто большее, как это в CarV5:
public class CarV5 {
private static int sMiles1 = 43266;
private static int eMiles1 = 43422;
private static int dist1;
private static double gals1 = 7.8;
private static double MPG1;
private static double pricePerGallon1 = 2.98;
private static double GPM1;
private static double totalCost1;
private static String carType1 = "14 Acura MDX";
CarV5() {
}
public int calcDistance(int sMiles1, int eMiles1){
return eMiles1 - sMiles1;
}
public static double calcMPG(int dist1, double gals1){
return dist1 / gals1;
}
public static double calcGPM(int dist1, double gals1) {
return gals1 / dist1;
}
public static double totalCost(double pricePerGallon1, double gals) {
return pricePerGallon1 * gals;
}
public static void main(String[]Args) {
CarV5 car1 = new CarV5();
dist1 = car1.calcDistance(sMiles1, eMiles1);
MPG1 = car1.calcMPG(dist1, gals1);
GPM1 = car1.calcGPM(dist1, gals1);
totalCost1 = car1.totalCost(pricePerGallon1, gals1);
System.out.printf("%70s%n%s%16s%14s%13s%12s%10s%9s%14s%13s%n%s%n", "Gas Mileage Calculations", "Type of Car", "Start Miles", "End Miles", "Distance", "Gallons", "Price", "Cost", "Miles/Gal", "Gal/Mile", "================================================================================================================");
System.out.printf("%s%15d%14d%13d%12.1f%10.2f%9.2f%14.1f%13.3f", carType1, sMiles1, eMiles1, dist1, gals1, pricePerGallon1, totalCost1, MPG1, GPM1);
}
}
Хотя этот код работает, я почти уверен, что это не то, что спрашивали инструкциимне делать.Я, честно говоря, не понимаю, чего от меня требуют инструкции.Программа, которую вы видите там, печатает ожидаемый результат, который является всеми данными автомобиля.Однако в инструкциях мне сказано использовать какой-то конструктор со значениями в нем.Если вы заметите, что во второй версии у меня есть этот «CarV5 () {}», который я не понимаю, что он делает.
Ожидаемый вывод правильный во второй версии программы, CarV5., как упоминалось ранее.В таблице выводятся рассчитанные значения расстояния, галлонов и т. Д.
Мой подход заключается в том, что не так.Я прошу прощения за этот длинный пост, но мои друзья, которые также проходят этот курс, считают, что я уже прошел курс обучения, и, если я честен, возможно, я тоже.Я просто очень хочу понять, как это сделать.