- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我是 Java 新手。抱歉,这个时间太长了。下面是到目前为止我的代码的输出带有 ** 的部分是我遇到问题的地方。我应该比较两个 Car 对象的速度,但每个 Owner 对象要么是“安全”驾驶员,要么是“鲁莽”驾驶员。如果他们鲁莽,当他们加速时,他们会加速 10。如果他们安全,他们会加速 5。到目前为止,这方面是有效的,但是,只有第一个 Owner 对象会存储信息。因此,无论第一个 Owner 对象是什么(安全/鲁莽),它们都将是。我的汽车对象不会发生这种情况,因为每个单独的对象都存储正确的信息,这正是我遇到困难的地方。谁能帮我找出原因吗?
Car Name: Betty
Year: 2002
Car Make: Kia
Car Model: Soul
Car Mileage: 50000
Car Speed: 65
Car owner name: Jane
Car owner type: rash
Car Name: Duke
Year: 2002
Car Make: Ford
Car Model: F250
Car Mileage: 50000
Car Speed: 65
Car owner name: John
Car owner type: safe
Betty is a 2002 Kia Soul.
The current mileage is 50000 and current speed is 65.
Jane is the owner of the car and is a rash driver.
Duke is a 2002 Ford F250.
The current mileage is 50000 and current speed is 65.
**Jane is the owner of the car and is a rash driver.**
The total mileage of both cars is 100000
Betty is going 75.
**Duke is going 75.**
这是我的 Car 类:
class Car{
//---INSTANCE VARIABLES---
private String carName;
private int yearModel;
private String make;
private String model;
private int speed;
private int mileage;
private Owner carOwner;
private static int totalMileage;
//---CAR CONSTRUCTOR---
public Car(String n, int y, String ma, String m, int ml, int s, Owner o) {
carName = n;
yearModel = y;
make = ma;
model = m;
speed = s;
mileage = ml;
carOwner = o;
totalMileage += ml;
}
//---MUTATOR & ACCESSOR METHODS---
public void setName(String n) {
carName = n;
}
public String getName() {
return carName;
}
public void setYearModel(int y) {
yearModel = y;
}
public int getYear() {
return yearModel;
}
public void setMake(String ma) {
make = ma;
}
public String getMake() {
return make;
}
public void setModel(String m) {
model = m;
}
public String getModel() {
return model;
}
public void setSpeed(int s) {
speed = s;
}
public int getSpeed() {
return speed;
}
public void setMileage(int ml) {
mileage = ml;
}
public int getMileage() {
return mileage;
}
public void setOwnerName(Owner n) {
carOwner = n;
}
public Owner getOwnerName() {
return carOwner;
}
//---ACCELERATE()---
public void accelerate() {
if(carOwner.getOwnType().equalsIgnoreCase("rash")) {
speed += 10;
} else {
speed += 5;
}
}
//---BRAKE---
public void brake() {
if(speed == 0) {
System.out.println("You are already stopped!");
} else {
speed -= 5;
}//end if-else statement
}
//---COMPARE()---
public void compare() {
}
//---TOSTRING()---
public String toString() {
String response = "";
response += "\n\n"+ carName +" is a " + yearModel + " " + make + " " + model+ ".";
response += "\nThe current mileage is " + mileage + " and current speed is " + speed;
response += ".\n" + carOwner.toString();
return response;
}
//---TOTALMILEAGE---
public static int getTotalMileage() {
return totalMileage;
}
}//---END CLASS CAR
类所有者:
public class Owner {
private String ownName;
private String ownType;
public Owner (String ownerName, String ownerType) {
ownName = ownerName;
ownType = ownerType;
}
public void setOwnType(String ownerType) {
ownType = ownerType;
}
public String getOwnType() {
return ownType;
}
public void setOwnName(String ownerName) {
ownName = ownerName;
}
public String getOwnName() {
return ownName;
}
public String toString() {
return ownName + " is the owner of the car and is a " + ownType + " driver.";
}
}//end Owner class
这是我的主要方法:
import java.util.*;
public class carDemo {
public static void main(String[] args) {
Car car = null;
Owner owner = null;
Car car2 = null;
Owner owner2 = null;
String carName, make, model, ownerName, ownerType;
int yearModel, speed, mileage;
Scanner kb = new Scanner(System.in);
for(int i = 1; i <= 2; i++) {
System.out.print("Car Name: ");
carName = kb.nextLine();
System.out.print("Year: ");
yearModel = kb.nextInt();
kb.nextLine();
System.out.print("Car Make: ");
make = kb.nextLine();
System.out.print("Car Model: ");
model = kb.nextLine();
System.out.print("Car Mileage: ");
mileage = kb.nextInt();
kb.nextLine();
System.out.print("Car Speed: ");
speed = kb.nextInt();
kb.nextLine();
System.out.print("Car owner name: ");
ownerName = kb.nextLine();
System.out.print("Car owner type: ");
ownerType = kb.nextLine();
if(i == 2) {
owner2 = new Owner(ownerName, ownerType);
car2 = new Car(carName, yearModel, make, model, mileage, speed, owner);
} else {
owner = new Owner(ownerName, ownerType);
car = new Car(carName, yearModel, make, model, mileage, speed, owner);
}
} //end for loop
System.out.print(car);
System.out.print(car2);
System.out.println("\n\nThe total mileage of both cars is " + Car.getTotalMileage());
car.accelerate();
car2.accelerate();
System.out.println(car.getName() + " is going " + car.getSpeed() + ".");
System.out.println(car2.getName() + " is going " + car2.getSpeed() + ".");
} //end main
} //end carDemo
最佳答案
car
和 car2
在构造函数中获取相同的 owner
实例。其中之一应该是 owner2
。
car2 = new Car(carName, yearModel, make, model, mileage, speed, owner2);
// here ^
关于java - 为什么类 Car 会存储对象 car 和 car2 的正确信息,但类 Owner 不会存储对象 Owner2 的信息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52867964/
(抱歉新手问题。)在 Ruby 中,循环之间的区别是什么: @cars.each do |car| 和 for car in @cars do ? 效率上有区别吗,或者为什么我们需要两种(或更多)方式
CREATE DATABASE movies_200186807; USE movies_200186807; CREATE TABLE movies_200186807 ( movie_name
在一本书中找到了第二种初始化对象的方法。现在很困惑。 最佳答案 这声明了一个变量: Car myCar; 该变量的类型为 Car,名为 myCar。但是,它还没有被初始化为任何东西。它是 Car 对象
我正在研究 Pandas 并研究汽车(一个 csv 文件)。我运行了以下命令: 1) cars.iloc[[3, 0]] Out[2]: cars_per_cap country dri
这个问题在这里已经有了答案: 关闭 11 年前。 Possible Duplicate: Do the parentheses after the type name make a differen
除了明确的清晰度,我们为什么要坚持:car.getSpeed()和 car.setSpeed(55)当这也可以使用时:car.speed()和 car.speed(55) 我知道 get() 和 se
var car = function(){ this.color = 'blue'; } car.color1 = 'white'; car.prototype.color2 = 'red'; var
给定汽车列表 (List cars),我可以: Observable.just(cars); //returns an Observable that emits one List Observabl
我正在尝试将此 XML 反序列化为 Parts 对象: gearbox 1990
假设我有标题中描述的结构: Map> mapNeighborhood 包含分别由地址和车牌索引的邻域中的所有汽车。我想选择所有红色汽车将它们重新涂成黑色。为完成该任务,我尝试使用 Java 8 将两个
我在计划中的功能是尝试获取省的详细信息: (define (getProvincesHelper sales provincesList) (if (null? sales) prov
我相信我已经在程序中发现它是这个函数,但是在到达find_best_candidates函数的第一行之前似乎失败了: (define (count-the-score candList voterLi
我正在尝试创建利用 D-Bus 的程序。我研究了 Qt 提供的示例,大致相同。在其中一个名为“D-Bus 遥控汽车示例”的文件中,有一个名为“car.xml”的文件,其中包含以下内容:
我是 Java 新手。抱歉,这个时间太长了。下面是到目前为止我的代码的输出带有 ** 的部分是我遇到问题的地方。我应该比较两个 Car 对象的速度,但每个 Owner 对象要么是“安全”驾驶员,要么是
我想使用car::Anova运行ANCOVA,但无法找出是否有一种方法可以仅将协变量添加为主要效果(即,不应与任何事物交互)。 据我了解的ANCOVA,协变量只是添加到模型中的另一个主要效果(即另一个
我正在尝试在 RStudio 中制作一个 2 面板图。通常足够简单: par(mfrow=c(1,2)) #1*2 plotting window 但是,当我使用 scatterplot() 进行绘图
网上查了很久,不知道怎么申请car重新编码一系列列的值。 要重新编码单个列的值,我将运行如下命令: df$dv_r <- recode(df$dv, "2=1;1=0;0=NA") 然后,如果我想对
有人可以给我一个关于 car 和 cdr 的变体在Scheme中做什么的基本解释吗? 如果我是正确的,car 将返回列表中的第一项。 cdr 将返回一个不包括第一个元素的列表。 我对这些的其他变体感到
我想在eopl中使用typed/racket实现“LET”语言,但遇到问题:我尝试实现三个函数(empty-env、extend-env、apply-env),但我不知道如何标记类型信息,并且rack
我想在eopl中使用typed/racket实现“LET”语言,但遇到问题:我尝试实现三个函数(empty-env、extend-env、apply-env),但我不知道如何标记类型信息,并且rack
我是一名优秀的程序员,十分优秀!