我的任务是创建一个程序,该程序在给定gear (1 - 3)
和cadence (1-100)
的情况下给出自行车的MPH。
我们已经设置了一个类,需要运行一个测试程序。到目前为止,这就是我在用用户输入运行循环结构的地方以及我的return语句应该在哪里的情况。
public class Bicycle
{
private int bike;
private int gear = 1;
private int cadence = 1;
private int speed = 1;
public void changeGear(int getGear)
{
gear = getGear;
}
public void changeCadence(int getCadence)
{
cadence = getCadence;
}
public void MPH(int getMPH)
{
speed = getMPH;
}
}
这是我的考试:
import java.util.Scanner;
public class BicycleTest
{
public static void main(String[] args)
{
Bicycle bike;
bike = new Bicycle();
}
}
答案 0 :(得分:0)
首先,对于实例的属性set
和get
,请使用命名约定(getStuff
和setStuff
)。那么speed
不是您自行车的属性,它会更改并取决于其他属性,在设置新值时,请检查它是否在您要求的范围内。
要获得速度,只需检查gear
并返回良好的结果:
public class Bicycle {
private int bike;
private int gear;
private int cadence;
public int getGear() {
return gear;
}
public void setGear(int gear) {
if (gear >= 1 && gear <= 3) {
this.gear = gear;
}
}
public int getCadence() {
return cadence;
}
public void setCadence(int cadence) {
if (cadence >= 1 && cadence <= 100) {
this.cadence = cadence;
}
}
public double getSpeed() {
if (gear == 1) {
return cadence / 12.0;
} else if (gear == 2) {
return cadence / 6.0;
} else if(gear == 3{
return cadence / 4.0;
}else{
return 0;
}
}
}
要使用此方法:实例化一个Bike
,向用户询问gear
和cadence
,您就可以完成:
public static void main(String[] args) {
Bicycle bike = new Bicycle();
Scanner sc = new Scanner(System.in);
System.out.println("Give the gear :");
bike.setGear(Integer.parseInt(sc.nextLine()));
System.out.println("Give the cadence :");
bike.setCadence(Integer.parseInt(sc.nextLine()));
double speed = bike.getSpeed();
System.out.println(speed);
}