如何修复/学习有助于理解基本方法和类,Java代码和单词问题

时间:2019-06-27 05:09:00

标签: java class methods

考虑到我可能犯了一个基本错误,或者我不知道自己在做什么,我正在努力解决这个问题。

平台是Zybook 问题显示为: 一条标准高中跑道的一圈正好0.25英里。编写一个程序,该程序以英里为输入,并输出每个laps.Outputfloating-point的数目,并在小数点后两位数字,这可以实现如下:

System.out.printf("%.2f", yourValue);

您的程序必须定义并调用一个方法: 公共静态双精度

milesToLaps(double userMiles)

它给出了几个示例输入1.5-> 6.00,2.2-> 8.80等。

它为您提供了以下起点:

import java.util.Scanner;

public class LabProgram {

    public static void main(String[] args) {

    }
}

下面,我已经进行了编辑,但我仍然不知道自己在做什么。但是,我将其归结为一个错误,该错误指出>错误:找不到符号numMiles.printMilesToLaps(userMiles);。我希望有人告诉我我是否正确地执行了此操作,或者他们是否可以解决此错误,导致我多次重做了代码,因此我打算放弃并从不提交它。

有时我也开始删除应该存在的代码,但同时对计算机ex没有意义。 (返回;),但也许您可以比zybook或其检查系统更详细地解释它。

代码本身看起来更加整洁,但是在出现多个错误之后,我不得不对其进行更改。

import java.util.Scanner;

public class LabProgram {

    public static double MilesToLaps(double userMiles){
        Scanner scnr = new Scanner(System.in);

        userMiles = scnr.nextDouble();

        System.out.printf("%.2f", (userMiles / 0.25));
    }

    public static void main(String[] args) {

        LabProgram numMiles = new LabProgram();

        numMiles.printMilesToLaps(userMiles);
    }
}

我越来越无法找到符号错误,主要是在辅助public方法上。我以为可以解决这个问题,但与问题参数不符。

我通常只在输入端子中使用示例输入值。

2 个答案:

答案 0 :(得分:0)

您发布的代码存在一些问题。该方法应命名为milesToLaps(而不是MilesToLaps)。该方法接受用户的输入,并且不提示。该方法应返回结果,而不是自身输出。而且,我将乘以4而不是除以0.25。喜欢,

public static double milesToLaps(double userMiles) {
    return userMiles * 4;
}

public static void main(String[] args) {
    Scanner scnr = new Scanner(System.in);
    double userMiles = scnr.nextDouble();
    System.out.printf("%.2f%n", milesToLaps(userMiles));
}

答案 1 :(得分:0)

请阅读一些基本的Java教程(Javatpoint,toutrialspoint等),在这里您可以对类,对象,方法的工作原理有基本的了解。

public static double MilesToLaps(double userMiles)
{
    Scanner scnr = new Scanner(System.in);
    System.out.println("Enter a number");
    userMiles = scnr.nextDouble();

    double x = (userMiles / 0.25);
    return x;
}

public static void main(String[] args) 
{
    //LabProgram numMiles = new LabProgram(); this object not require because your calling method MilesToLaps() is static.
    double result = MilesToLaps(5); // here in this method you need to pass a double type value.
    System.out.println("user miles :"+ result);
}

}