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();

    }

}


慕虎7371278
浏览 137回答 1
1回答

呼如林

我认为您想要实现的是,当您使用某些参数调用您的方法“horn”时,它必须使用“Beep!” 或“砰!”。首先:void horn(a,b)在 Java 中不是有效的函数签名,在 Java 函数中,您始终必须指定您提供的输入的类型。在您的函数中,您必须像这样定义 a 和 b 是字符串: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);
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java