다음 프로그램과 함께 isseue를 사용하고 있습니다.If Else 조건을 배열에 추가하십시오.
여기에 전체 코드가 있으며 최근에 프로그래밍을 배우기 시작했으며 이것이 내 첫 프로젝트이므로 들여 쓰기와 OOP 개념이 좋지 않습니다. 여러분 중 한 분이이 프로그램을 OOP로 전환 할 수 있다면 나에게 큰 도움이 될 것입니다.
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.*;
class Car {
private String make;
private String model;
private String regNo;
private int deposit;
private int rate;
public Car(String newMake, String newModel, String newRegNo,int newDeposit, int newRate)
{
make = newMake;
model = newModel;
regNo = newRegNo;
deposit = newDeposit;
rate = newRate;
}
public String getMake() {
return make;
}
public String getModel() {
return model;
}
public String getRegNo() {
return regNo;
}
public int getDeposit() {
return deposit;
}
public int getRate() {
return rate;
}
}
public class carrenta {
public static void main(String[] args) {
DateFormat dateFormat = new SimpleDateFormat("dd/MM/yy HH:mm");
Date date = new Date();
System.out.println(dateFormat.format(date));
List<Car> carlist = new ArrayList();
carlist.add(new Car("Toyota", "corolla", "TA7896", 1500, 1800));
carlist.add(new Car("Toyota", "vitz", "TV9872", 1500, 1800));
carlist.add(new Car("Nissan", "paso", "NP1543", 1500, 1500));
carlist.add(new Car("Honda", "city", "HC4692", 1800, 1800));
carlist.add(new Car("Honda", "civic", "HC4521", 2000, 1600));
carlist.add(new Car("Honda", " accord", "HA5463", 2500, 2000));
carlist.add(new Car("Mitsubishi", "lancer", "ML4521", 2000, 1500));
Scanner input = new Scanner(System.in);
boolean modelFound = false;
while (!modelFound) {
System.out.print("Enter model to rent: ");
String model = input.nextLine();
for(Car s : carlist){
if (model.equalsIgnoreCase(s.getModel())) {
modelFound = true;
System.out.println("Model " + model + " is available");
System.out.print("Enter number of days: ");
int days = input.nextInt();
System.out.println("***************Details*****************");
int cost = (days * s.getRate()) + s.getDeposit();
System.out.println("Deposit DailyRate Duration TotalCost");
System.out.println(s.getDeposit() + " " + s.getRate()+ " " + days + " " + cost);
System.out.print("Proceed to rent?(y/n): ");
String dec = input.next();
switch (dec) {
case "y":
System.out.println("Enter Customer Name: ");
String name = input.next();
System.out.println("Enter NIC Number: ");
int num = input.nextInt();
System.out.println("************Receipt*************");
System.out.println( " Date Name NICNo Car RegNo Duration TCost");
System.out.println(date+" "+name + " " + num + " " + model
+ " " + s.getRegNo() + " " + days + " "+cost);
break;
case "n":
System.out.println("Serving Next Customer: ");
break;
}
}
else{
System.out.println("Please enter a valid model");
}
}
}
}
}
코드가 잘 구성되어 있지 않아서 어디에 있는지 알 수 없습니다. 루프와 컨디션 바디를 쉽게 찾을 수 있도록 올바른 들여 쓰기를 추가하십시오. – hexafraction
그런 다음 질문 블록 주위에'loop'를 추가하십시오. –
이 프로그램을 BASIC으로 작성한 것처럼 작성했습니다. 더 많은 객체 지향 패러다임을 수용하십시오. 객체를 사용하면 코드가 읽기 쉬울뿐만 아니라 프로그램 유지 관리 및 확장이 훨씬 쉬워집니다. – scottb