Java 构建我自己的课程?
我在学习如何编写和使用自己的课程方面遇到了困难。比如,Java 构建我自己的课程?,java,eclipse,class,methods,Java,Eclipse,Class,Methods,我在学习如何编写和使用自己的课程方面遇到了困难。比如, import java.text.NumberFormat; public class BikeCommute { private String route; private double distanceTraveled; private double timeRequired; private String dateTraveled; private String mode; private double gallonsSaved;
import java.text.NumberFormat;
public class BikeCommute {
private String route;
private double distanceTraveled;
private double timeRequired;
private String dateTraveled;
private String mode;
private double gallonsSaved;
final private int mpg = 25;
public BikeCommute(String mode, String dateTraveled, String route,
double distanceTraveled, double timeRequired)
{
mode = this.mode;
route = this.route;
distanceTraveled = this.distanceTraveled;
timeRequired = this.timeRequired;
dateTraveled = this.dateTraveled;
}
public double gallonsCalculated(){
gallonsSaved = distanceTraveled/mpg;
return gallonsSaved;
}
public double getGallons(){
return gallonsSaved;
}
public String toString(){
return mode + route + distanceTraveled + timeRequired + dateTraveled + gallonsSaved;
}
}
我正试图编写一个名为BikeCommute的类,它将读取路线、交通方式、行驶距离、所需时间和行驶日期,通过将行驶距离除以每加仑英里数计算出节省了多少加仑汽油,并输出路线、模式、行驶距离和所需时间,日期已过,加仑已省下。但是,当我运行它时,它返回Null0.0null0.0。有什么想法吗?作业从右到左。替换
mode = this.mode;
与
BikeCommute
中的其他字段变量也是如此,赋值从右向左。替换
mode = this.mode;
与
BikeCommute
中的其他字段变量也是如此,赋值从右向左。替换
mode = this.mode;
与
BikeCommute
中的其他字段变量也是如此,赋值从右向左。替换
mode = this.mode;
与
与BikeCommute中的其他字段变量相同,您使用的方法错误:
mode = this.mode;
应该是:
this.mode = mode;
你把这些都搞错了:
mode = this.mode;
应该是:
this.mode = mode;
你把这些都搞错了:
mode = this.mode;
应该是:
this.mode = mode;
你把这些都搞错了:
mode = this.mode;
应该是:
this.mode = mode;
你的问题是关于这门课上的一个具体问题;但是,你也应该考虑一般问题。 如果您在构建或使用自己的类时遇到问题,可能是因为您混淆了类的构建和使用。实际上,如果您在“构建类”之前“使用类”,您可以获得更好的结果。我知道这听起来像胡说八道,但这是测试驱动开发背后的驱动思想,它是编写健壮可用程序的更有效方法之一 考虑研究JUnit并学习如何设置“测试”目录。我还建议您尽可能少地学习“刚刚足够”的maven来实现自动化。不要一开始就试图成为一名青年或专业演奏家。在这个区域开始剪切和粘贴是合适的 然后,您可以先编写测试:
public void testBikeCommute() {
BikeCommute commute = new BikeCommute(...);
Assert.assertEquals(5, commute.getGallons());
}
现在你可以看到你的设计很奇怪,因为我的大部分通勤都没有加仑。当你试图在编写软件之前“使用”它时,你可能会发现你的“通勤”实际上是两种理论上的通勤之间的比较,一种是开车,另一种是骑自行车
public void testCommuteSavings() {
BikeCommute bike = new BikeCommute(...);
CarCommute car = new CarCommute(...);
SavingsCalculator calculator = new Calculator(car, bike);
Assert.assertEquals(5, calcuator.getSavedGallons());
}
这种“使用第一”的技术可以让您开发一种更清晰的问题表示,使用JUnit之类的工具包,甚至可以成为一种自动化测试策略。此外,它还使一些项目非常容易测试,如
public void testBikeCommuteUsesZeroGallons() {
BikeCommute bike = new BikeCommute();
Assert.assertEquals(0, bike.getGallonsUsed());
}
干杯你的问题是关于这门课上的一个具体问题;但是,你也应该考虑一般问题。 如果您在构建或使用自己的类时遇到问题,可能是因为您混淆了类的构建和使用。实际上,如果您在“构建类”之前“使用类”,您可以获得更好的结果。我知道这听起来像胡说八道,但这是测试驱动开发背后的驱动思想,它是编写健壮可用程序的更有效方法之一 考虑研究JUnit并学习如何设置“测试”目录。我还建议您尽可能少地学习“刚刚足够”的maven来实现自动化。不要一开始就试图成为一名青年或专业演奏家。在这个区域开始剪切和粘贴是合适的 然后,您可以先编写测试:
public void testBikeCommute() {
BikeCommute commute = new BikeCommute(...);
Assert.assertEquals(5, commute.getGallons());
}
现在你可以看到你的设计很奇怪,因为我的大部分通勤都没有加仑。当你试图在编写软件之前“使用”它时,你可能会发现你的“通勤”实际上是两种理论上的通勤之间的比较,一种是开车,另一种是骑自行车
public void testCommuteSavings() {
BikeCommute bike = new BikeCommute(...);
CarCommute car = new CarCommute(...);
SavingsCalculator calculator = new Calculator(car, bike);
Assert.assertEquals(5, calcuator.getSavedGallons());
}
这种“使用第一”的技术可以让您开发一种更清晰的问题表示,使用JUnit之类的工具包,甚至可以成为一种自动化测试策略。此外,它还使一些项目非常容易测试,如
public void testBikeCommuteUsesZeroGallons() {
BikeCommute bike = new BikeCommute();
Assert.assertEquals(0, bike.getGallonsUsed());
}
干杯你的问题是关于这门课上的一个具体问题;但是,你也应该考虑一般问题。 如果您在构建或使用自己的类时遇到问题,可能是因为您混淆了类的构建和使用。实际上,如果您在“构建类”之前“使用类”,您可以获得更好的结果。我知道这听起来像胡说八道,但这是测试驱动开发背后的驱动思想,它是编写健壮可用程序的更有效方法之一 考虑研究JUnit并学习如何设置“测试”目录。我还建议您尽可能少地学习“刚刚足够”的maven来实现自动化。不要一开始就试图成为一名青年或专业演奏家。在这个区域开始剪切和粘贴是合适的 然后,您可以先编写测试:
public void testBikeCommute() {
BikeCommute commute = new BikeCommute(...);
Assert.assertEquals(5, commute.getGallons());
}
现在你可以看到你的设计很奇怪,因为我的大部分通勤都没有加仑。当你试图在编写软件之前“使用”它时,你可能会发现你的“通勤”实际上是两种理论上的通勤之间的比较,一种是开车,另一种是骑自行车
public void testCommuteSavings() {
BikeCommute bike = new BikeCommute(...);
CarCommute car = new CarCommute(...);
SavingsCalculator calculator = new Calculator(car, bike);
Assert.assertEquals(5, calcuator.getSavedGallons());
}
这种“使用第一”的技术可以让您开发一种更清晰的问题表示,使用JUnit之类的工具包,甚至可以成为一种自动化测试策略。此外,它还使一些项目非常容易测试,如
public void testBikeCommuteUsesZeroGallons() {
BikeCommute bike = new BikeCommute();
Assert.assertEquals(0, bike.getGallonsUsed());
}
干杯你的问题是关于这门课上的一个具体问题;但是,你也应该考虑一般问题。 如果您在构建或使用自己的类时遇到问题,可能是因为您混淆了类的构建和使用。实际上,如果您在“构建类”之前“使用类”,您可以获得更好的结果。我知道这听起来像胡说八道,但这正是测试驱动开发背后的驱动思想