我想实现以下目标:
如果我使用参数a或b调用方法v2.horn(),则它应该输出a或b。但是我不知道怎么做。
代码如下:
public class Vehicle {
int maxSpeed;
int wheels;
String color;
double fuelCapacity;
void horn(a,b) {
String a = "Beep!";
String b = "Boop!";
System.out.println(a);
System.out.println(b);
}
void blink() {
System.out.println("I'm blinking!");
}
}
class MyClass {
public static void main(String[ ] args) {
Vehicle v1 = new Vehicle();
Vehicle v2 = new Vehicle();
v1.color = "red";
v2.horn(a);
v1.blink();
}
}
答案 0 :(得分:0)
我认为您想要实现的是,当您使用某些参数调用方法“ horn”时,必须使用“ Beep!”。或“嘘!”。
第一项:
void horn(a,b)
在Java中不是有效的函数签名,在Java函数中,您始终必须指定要提供的输入是什么类型。
在函数中,您必须像这样定义a和b为String:
void horn(String a, String b)
如果您希望您的代码以现在编写的方式运行,则必须将代码稍作移动,最后得到以下结果:
public class Vehicle {
int maxSpeed;
int wheels;
String color;
double fuelCapacity;
void horn(String in) {
System.out.println(in);
}
void blink() {
System.out.println("I'm blinking!");
}
}
class MyClass {
public static void main(String[ ] args) {
String a = "Beep!";
String b = "Boop!";
Vehicle v1 = new Vehicle();
Vehicle v2 = new Vehicle();
v1.color = "red";
v2.horn(a);
v1.blink();
}
}
实现所需功能的另一种方法:您也可以只使用布尔值。
void horn(boolean a) {
if (a)
{
System.out.println("Beep!");
}
else
{
System.out.println("Boop!");
}
}
然后,要执行您想做的事情,必须调用如下方法:
// Use either true or false.
v2.horn(true);
v2.horn(false);