首页 > 解决方案 > 对于参数类型 int、Distance 和更多错误,运算符 <= 未定义

问题描述

我想我在 Distance.java 上得到了正确的代码。只是试图显示 Driver.java 的循环输出。

问题是它说“对于参数类型 int,距离,运算符 <= 是未定义的”,而“小时”是一个重复的局部变量。

“对于参数类型 int, Distance,运算符 <= 未定义”可能是由于“distance.getDistance(distance);”这一事实。显示为字符串。但是我怎么把它变成双倍的呢?我将如何解决“小时”问题。

public class Distance {

    // creating private statement
    private double speed;
    private int hours;

    // creating a Distance method
    public Distance() {

        // creating getters and setters
    }

    public double getSpeed() {
        return speed;
    }

    public void setSpeed(double speed) {
        this.speed = speed;
    }

    public int getHours() {
        return hours;
    }

    public void setHours(int hours) {
        this.hours = hours;
    }

    // setting up distance equation
    public double getDistance(double distance) {
        return distance = hours * speed;
    }
}
import java.util.Scanner;

public class Driver {

    public static void main(String[] args) {
        // TODO Auto-generated method stub

        // setting up a scanner
        Scanner scanner = new Scanner(System.in);

        // creating objects
        Distance speed = new Distance();
        Distance hours = new Distance();
        Distance distance = new Distance();

        distance.getDistance(distance);

        // input for vehicle speed and hour
        System.out.println("Please enter vehicle speed: ");
        scanner.nextDouble();
        speed.setSpeed(scanner.nextDouble());

        System.out.println("Please enther hours vehicle was in motion: ");
        scanner.nextInt();
        hours.setHours(scanner.nextInt());

        System.out.println("Hour\tDistance Travelled\n----\t----------");
        for (int hours = 1; hours <= distance; hours++) {

        }
    }
}

标签: java

解决方案


好吧,您使用 name 定义了两个变量hours

  • 这里:Distance hours = new Distance();
  • 和这里:for (int hours = 1; hours <= distancel; hours++)

关于<=:您正在尝试比较复杂的对象,因为hours(第一个定义)并且distanceDistance类的实例。因此,这两个错误。


推荐阅读