Java 从方法中提取属性
因为我是Java的初学者,所以我有很多问题。对于我的大学,我必须编写一个健身应用程序。我们有一些技巧,但大部分代码将由我们创建。任务的制定有点松散,因此,我在解决任务时遇到了一些问题。但现在,我想告诉你,我必须做什么。 我必须设置一个具有以下属性的“健身器材”类:Java 从方法中提取属性,java,class,methods,constructor,Java,Class,Methods,Constructor,因为我是Java的初学者,所以我有很多问题。对于我的大学,我必须编写一个健身应用程序。我们有一些技巧,但大部分代码将由我们创建。任务的制定有点松散,因此,我在解决任务时遇到了一些问题。但现在,我想告诉你,我必须做什么。 我必须设置一个具有以下属性的“健身器材”类: 名字 类型 训练有素的肌肉群(另一个班) 最大培训持续时间 每小时燃烧的卡路里 除了这些属性,还有一些方法,我必须实现: 建造师 int卡路里消耗量(int分钟)->返回给定时间内一次培训课程的卡路里消耗量(以分钟为单位) int卡路
public class Fitness-Equipment {
private String name;
private String type;
private Musclegroupe mousclegroupe;
private int max.trainingduration;
private int burnedcaloriesperhour;
boolean power;
public Fitness-Equipment(String name, String type, Musclegroupe mousclegroupe, int max.trainingduration, int burnedcaloriesperhour) {
this.name = name;
this.type = type;
this.mousclegroupe = mousclegroupe;
this.max.trainingduration = max.trainingduration;
this.burnedcaloriesperhour = burnedcaloriesperhour;
}
//Setter & Getter for all attributes above//
public int calorieconsumption (int trainingduration) {
return (burnedcaloriesperhour = trainingduration * (burnedcaloriesperhour / 60));
}
public boolean supports (String muscle) {
return (muskelgroupe.contains(muscle));
}
public boolean supports (Musclegroupe musclegroupe) {
return (this.musclegroupe.equals(musclegroupe));
}
public boolean needspower () {
return (power = true);
}
}
我是这样实现的吗?有时我不确定是否必须向类添加一些属性,或者这些方法是否可以为我添加这些属性。最大的问题是,任务没有很好地制定,因此我在解决它们时非常不安全。对不起,我的英语不是我的母语,代码是用德语写的,所以我必须翻译:D如果我正确理解你的问题,那么我会说你在正确的轨道上。(但有关您的代码的一些反馈,请参见下文。) 属性用于数据的值与对象的性质有关的事物 方法适用于操作/算法/逻辑与对象性质有关的情况 属性只有在分配了特定值后才有意义,通常是在对象实例化时。(但是,该值肯定会在实例化对象的生命周期内发生变化。)方法在对象实例化之前完全定义(即,它们是为类定义的),并且不会发生变化。(尽管如此,它们的确切输出和效果当然会因输入的不同而有所不同。) 因此,以您的类为例,像
burnedcaloriesperhour
这样的属性是合适的,因为它是定义特定健身设备的一部分,而像CarrioConsumption()
这样的属性是合适的,因为计算的逻辑是不变的,所有健身器材也是如此
这有很多细微差别。某些属性变化迅速;某些属性在对象实例化时未定义,并且仅在调用此方法或该方法后才具有值;类常量与属性类似,但对于该类的所有对象具有相同的值;还有很多很多。但是,学习Java的一部分将是获得一个不断扩展的概念背景,以理解这些细微差别
我想指出一些关于您的代码的事情:
max.trainingduration代码>将按我认为您希望的方式工作。这表示“属于名为“max”的对象的属性“trainingduration”。我想您需要maxTrainingduration
或类似的东西
返回(power=true);
将(a)设置power
等于true
,并且(b)总是返回true
。我想你的意思是返回(power=true);
return(burnedcaloriesperhour=trainingduration*(burnedcaloriesperhour/60));
每次调用时都会更改burnedcaloriesperhour
的值;我想您只需要返回计算值trainingduration*(burnedcaloriesperhour/60)
Viel Erfolg!您是否已经尝试编译代码?Stackoverflow问题询问有关“如何继续”以及代码是否“良好”的建议“否则,会给你带来负面声誉。你现在有通行证,因为你显然是新来的。我建议您在声誉下降之前阅读stackoverflow how to ask页面。Getter&Setter行只声明,我在那里创建了它们,但我不想在stackoverflow中为此编写完整的代码。是的,你和其他人的小费给了我很多帮助!这真的就像每个人说的->边做边学:)