java - 如何重置适当的参数以修改java中的现有值
问题描述
我想从用户输入值更改奔驰汽车的这些细节。用户将能够通过用户输入更改现有详细信息(例如:名称、品牌..)。如何重置适当的参数以更改现有值?
Automobile Benze[] = new Automobile [5];
Benze[i]=new Automobile(); //Automobile is my class name
do {
System.out.println("01<Mercedize Benze");
String C = T.readLine();
int ch = Integer.valueOf(C).intValue();
switch(ch) {
case 01:
//Details of Benze car
Name = "Benze Class C";
Brand = "Benz";
Start = "On ";
Colour= "Grey";
Fuel = 3.5;
Km = 9;
Oil = 1.2;
water = 2;
for( i=0; i < 1; i++) {
Benze [i] = new Automobile(Name, Brand, Start, Colour, Fuel, Km, Oil, water);
Benze[i].show();
}
} while(exit == true);
解决方案
如果你想mutate
➡️使用setters
:
class Automobile {
private String name;
...
public void setName(String name) {
this.name = name;
}
...
}
var auto = Benze[i];
auto.setName("new name");
,但更好的方法是创建new
一个
var old = Benze[i];
Benze[i] = new Automobile("new name", old.getBrand, ...);
推荐阅读
- c# - Mongo DB 获取正在检索的数据/文档的统计信息
- python - 为什么这个 PyQt5 代码不显示文本行编辑器?
- php - 如何在浏览器中显示文件而不是使用 laravel 5.6 下载?
- airflow - 未找到气流实验 API deny_all 模块
- java - 如何使用 localeCompare 根据标记对名称进行排序?
- php - 如何停止 php 中的 url 垃圾邮件已将 url 验证放在 msg 字段上但不起作用
- php - 当查询始终不同时,如何使用json从mysql中获取android中的数据,
- ios - 当实时捕获的应用程序崩溃检测文本从 AVCaptureDataSampleBufferDelegate 回调中获取图像时确实输出
- c# - 匹配字符串末尾的模式
- ansible - 如何使用分隔符在变量中提供多个值 - Ansible playbook