java函数关于实参错误问题

请问以下错误出现的原因
出现了 错误: 此处不允许使用 '空' 类型
减速speedDown()
public void speedDown(int speed){
System.out.println("减速到:"+getSpeed(setSpeed(getSpeed()-speed)));
}

代码相关问题:请定义一个交通工具(Vehicle)的类
其中有属性:
速度(speed)
体积(size)等等
方法移动(move())
设置速度(setSpeed(int speed))
加速speedUp(),
减速speedDown()等等.

public class Homework2
{
    public static void main(String[] args){
        Vehicle v1=new Vehicle(17.3,20.0);
        v1.setSpeed(10);
        v1.speedDown(20);
    }
}
class Vehicle
{
    //属性
    //速度
    private double speed;
    //体积
    private double size;
    //构造方法
    public Vehicle(){
        this(0.0,0.0);
    }
    public Vehicle(double speed,double size){
        this.speed=speed;
        this.size=size;
    }
    public void setSpeed(double speed){
        this.speed=speed;
    }
    public double getSpeed(){
        return this.speed;
    }
    public void setSize(double size){
        this.size=size;
    }
    public double getSize(){
        return this.size;
    }
    //move()
     public void move(){
        System.out.println("移动了");
     }
    
    //设置速度setSpeed(int speed)
    public void setSpeed(int speed){
        setSpeed(getSpeed()+speed);
    }

    //加速speedUp(),
    public void speedUp(int speed){
        setSpeed(getSpeed()+speed);
        System.out.println("加速到:"+getSpeed());

    }
    public void speedDown(int speed){
        setSpeed(getSpeed()-speed);
        System.out.println("减速到:"+getSpeed());
    }
    
    /*
    是错误的,不明白错误
    出现了 错误: 此处不允许使用 '空' 类型
    减速speedDown()
    public void speedDown(int speed){
        System.out.println("减速到:"+getSpeed(setSpeed(getSpeed()-speed)));
    }
    */
    
    
}

先说一下你的这个语法错误。你看你的setspeed方法定义时,返回类型是void。所以你的getspeed(setspeed(...))就等价于getspeed(void),和getspeed()的定义不符,所以报错。
另外,你的setspeed使用了speedup的逻辑,应该是错的

因为getSpeed方法是无参数的

System.out.println("减速到:"+getSpeed(setSpeed(getSpeed()-speed)));

所以报错,空类型。
getSpeed()方法单独调用即可。

getSpeed()是无参函数,你把setSpeed(getSpeed()-speed)放在getSpeed()函数中(作为getSpeed函数的参数)了,肯定错误啊。

img

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632