【问题标题】:I keep getting an error in my driver class, but I'm not sure what I've done wrong我的驱动程序类中不断出现错误,但我不确定我做错了什么
【发布时间】:2015-09-27 22:39:17
【问题描述】:

这是我目前正在研究的基础课程的代码。我不断收到错误消息,但我不确定我做错了什么。任何帮助将不胜感激。谢谢!

package miles;

public class Miles {

    private int miles;
    private int gas;
    public static int mpg;

    public void setMiles(int miles) {

        this.miles = miles;

    }

    public void setGas(int gas){

        this.gas = gas;

    }


    public int getMpg(){
        mpg = miles/gas;
        return mpg;
    }


}
package miles;
import java.util.Scanner;

public class MilesDriver {


    public static void main(String [] args) {


        Miles gas =  new Miles();

        Scanner input = new Scanner(System.in);

        System.out.println("Enter Miles: ");
        int setGas = input.nextInt();

        System.out.println("Enter Gas: ");
        int setMiles = input.nextInt();

        System.out.printf("MPG:  %n%s%n",  gas.getMpg() );


    }
}

【问题讨论】:

  • 您需要edit您的帖子并包含错误消息,以便其他有相同错误的人能够找到您的问题和可能的答案。
  • 提示:您究竟在哪里设置/传递 Miles 对象的 gas 和英里值?还请查看您向用户询问的值以及您如何命名变量。
  • Miles gas = new Miles(); 那是非常糟糕的命名决策,伙计...此外,您正在将“英里”读入“setGas”,将汽油读入“setMiles”...

标签: java


【解决方案1】:

您实际上忘记设置对象的值:

    System.out.println("Enter Miles: ");
    int setMiles = input.nextInt();
    gas.setMiles(setMiles);

    System.out.println("Enter Gas: ");
    int setGas = input.nextInt();
    gas.setGas(setGas);

尽量不要给变量名与对象的方法名相同。您最终会感到困惑并陷入困境。

【讨论】:

    猜你喜欢
    • 2014-03-23
    • 1970-01-01
    • 1970-01-01
    • 2021-08-04
    • 2021-11-28
    • 2017-09-29
    • 2011-07-19
    • 2011-12-04
    • 2022-06-10
    相关资源
    最近更新 更多