为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

慕虎7371278 2021-11-24 18:35:49
我想实现以下目标:如果我使用参数 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 回答

?
呼如林

TA贡献1798条经验 获得超3个赞

我认为您想要实现的是,当您使用某些参数调用您的方法“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);


查看完整回答
反对 回复 2021-11-24
  • 1 回答
  • 0 关注
  • 136 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信