我正在制作一个程序,要求用户输入汽车模型示例本田,并访问本田类。在用户输入模型后,他被要求选择本田模型示例" Civic"。当他打字" Civic"不同的年份出现在2000,2013等。他选择了一年而不是关于那辆车出现的信息。
我已经有第一部分要求用户输入汽车模型并访问该课程。我没有计划添加太多信息,这只是我正在研究的项目。
import java.util.Scanner;
public class carMain {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
Honda hondaMain = new Honda("civic");
System.out.println("Welcome to GoAuto. Search from thousands of cars. \n");
System.out.println("Please enter the brand of car you would like to search:");
String carBrand = input.nextLine();
if (carBrand.equalsIgnoreCase("Honda") == true) {
System.out.println("You are now in the Honda class");
//model type
String carBrand1 = input.nextLine();
}
}
}
我假设我需要创建一个数组来存储有关汽车模型和年份的信息,但我不知道该怎么做。
public class Honda {
String c;
Honda(String civi) {
c = civi;
}
void simplemsg() {
System.out.println("You are now in Honda Database");
}
}
答案 0 :(得分:0)
对于初学者,我认为你会想要创建代表每个级别的类。比如..
public class Make(){
//Add class properties
List<Models> models = new ArrayList();
public function Model get_model_by_name(String name) {
//int index = search for matching Model.name..
return this.models(index)
}
public class Model(){
//Add class properties
List<Years> years = new ArrayList();
public function Model get_year_by_name(String name) {
//int index = search for matching Year.name..
return this.models(index)
}
public class Year(){
//Add class properties
String info;
String info2;
}
然后在main方法中,你想要像这样初始化值..
//Initialize database
List<Make> database = new arrayList();
Make ford = new Make(<insert values for all properties>)
database.add(ford);
// Access ford..
System.out.println(ford.get_year_by_name(<whatever value user passed in>)
显然这是伪代码,你需要添加你想要的任何构造函数和属性,以及适当的getter和setter。理想情况是使用数据库查找或某种类型的枚举文件。
答案 1 :(得分:0)
你的equalsIgnoreCase
之后你不需要把== trueif(carBrand.equalsIgnoreCase("Honda")){
如果您想将年份和汽车信息存储在数组中,请查看二维数组。正如其他答案所说,虽然你可以研究一些更具凝聚力的方法来编码这个