Java-不同的参数导致不同的输出

时间:2018-10-18 09:43:11

标签: java

我想实现以下目标:

如果我使用参数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();
    }
}

1 个答案:

答案 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);