Java中的基本平均速度公式问题

时间:2019-07-20 13:12:55

标签: java

我正在尝试建立一个非常简单的平均速度公式,该公式需要输入英里和小时,并给出每小时的平均速度。忍受我,因为我昨天确实开始学习Java。我不尝试做小数或任何我只想从公式中得到直接结果的事情。

public class AverageSpeed {


    public static void main(String[] args) {

        System.out.println("Please enter the distance you travelled in miles: ");

        Scanner sc = new Scanner(System.in);

        String Miles = sc.nextLine();

        System.out.println("Please enter the time in hours, it has taken to travel this distance. ");

        Scanner sc = new Scanner(System.in);

        String Hours = sc.nextInt();


        int distance = Integer.parseInt(Miles);

        int time = Integer.parseInt(Hours);

        int averagespeed = distance / time;

        System.out.println("You were travelling an average speed " + averagespeed + " miles per hours.");

    }
}

我收到错误消息:duplicate local variable sc。我知道我使用的扫描仪完全错误。我不知道如何修复扫描仪部件并使公式正常工作。而且我没有足够的经验来修复或完全理解命令。

2 个答案:

答案 0 :(得分:0)

您当前已经定义了RestaurantDetailRDD,因此您必须更改其值,而不是使用相同的名称来创建新值:

RDD

但是,您不需要这样做。只需在sc变量中创建一个扫描仪即可。

如果要获得更精确的结果,请考虑将sc = new Scanner(System.in); 的类型更改为floatdouble

答案 1 :(得分:0)

由于在第4行和第7行中两次声明了 sc 而收到此错误。您无需多次实例化Scanner,同一实例将可用于多个输入。另外,在第8行 String Hours = sc.nextInt(); 您以String类型存储int值是不正确的,这是完全错误的。 下面的代码将满足要求,

import java.util.Scanner;

public class AverageSpeed {


    public static void main(String[] args) {

        System.out.println("Please enter the distance you travelled in miles: ");

        Scanner sc = new Scanner(System.in);

        String miles = sc.nextLine();

        System.out.println("Please enter the time in hours, it has taken to travel this distance. ");

        String hours = sc.nextLine();

        int distance = Integer.parseInt(miles);

        int time = Integer.parseInt(hours);

        int averagespeed = distance / time;

        System.out.println("You were travelling an average speed " + averagespeed + " miles per hours.");

    }
}

此外,仅建议变量名称应以小写字母多数民众赞成在Java约定开头。