【发布时间】:2017-05-31 21:17:31
【问题描述】:
我目前正在学习 Java,并且已经完成了几个教程。然而,每个练习都集中在一个部分(例如学习 IO、学习字符串、图形等),但只有少数练习包含多个章节。这意味着我很难制作一个更完整但仍然简单的程序。
请查看我的问题下方。我正在创建一个“汽车类”,在其中创建了 4 个变量。我为用户提供了插入汽车类型、年份和其他两个选项的选项。 设置完所有值后,我们就可以显示它们了。到目前为止(几乎)很好。
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Scanner;
public class Car {
String make;
String model;
int year;
String plateNumber;
public Car() {
}
// SETS and GETS the type of the Car
public void setMake (Scanner in) {
make = in.nextLine();
}
public String getMake () {
System.out.print("Make: " + make);
return make;
}
// SETS and GETS the model of the Car
public void setModel (Scanner in) {
model = in.nextLine();
}
public String getModel () {
System.out.print("Model: " + model);
return model;
}
// SETS and GETS the year of fabrication
public void setYear(Scanner in) {
year = in.nextInt();
}
public int getYear () {
System.out.print("Year: " + year);
return year;
}
// SETS and GETS the plateNumber;
public void setPlate (Scanner in) {
plateNumber = in.nextLine();
}
public String getPlate ()
{
System.out.print("License: " + plateNumber);
return plateNumber;
}
public static void main(String[] args) throws IOException {
File file = new File("");
Scanner in = new Scanner(System.in);
if (!file.exists()) {
FileWriter writeFile = new FileWriter("cars.txt");
}
// CAR 1 ====================
Car car1 = new Car();
System.out.println("Car1: ");
car1.setMake(in);
car1.getMake();
car1.setModel(in);
car1.getModel();
car1.setYear(in);
car1.getYear();
Car [] cars = new Car [5]; // Creates a 5 car array / parking lot
}
}
在此之后,它应该将数据存储在 [5] Car Array 中,然后将它们保存到外部 txt 文件中。解决以下两点后,我将添加保存到文件。
现在的问题:
- 如何使扫描仪和显示更优雅。正如您在下面的打印屏幕中看到的那样,数据翻了一番(打印到屏幕,扫描仪显示汽车类型两次)
- 如何将汽车变量存储在一个数组中,然后仅打印模型或仅打印制造年份,或者对于一号汽车,打印这辆车的所有值。 我知道如何制作一个字符串、整数或双精度数组。我只是不知道如何将上述变量存储在 Car 数组中并一一获取 car1 数组值。这让我很困惑。 提前致谢并致以最诚挚的问候,
【问题讨论】:
标签: java arrays object methods records