我正在尝试在运动员类,国家和名称的两个数组上打印第一个元素。我还需要创建一个对象,该对象模拟运动员进行的三个潜水尝试(初始设置为零)。我是OOP的新手,我不知道该怎么做……就构造函数而言。这是我到目前为止所做的...
这是主要的:
import java.util.Random;
import java.util.List;
public class Assignment1 {
public static void main(String[] args) {
Athlete art = new Athlete(name[0], country[0], performance[0]);
}
}
我真的不知道该怎么办...
这是带有数组的类。
import java.util.Random;
import java.util.List;
public class Athlete {
public String[] name = {"Art", "Dan", "Jen"};
public String[] country = {"Canada", "Germant", "USA"};
//Here i would like to create something that would be representing 3 dive attemps (that relate to dive and score. eventually.)
Athlete(String[] name, String[] country, Performance[] performance) {
this.name = name;
this.country=country;
this.performance=performance;
}
public Performance Perform(Dive dive){
dive.getDiveName();
return null;
}
public String[] getName() {
return name;
}
public void setName(String[] name) {
this.name = name;
}
public String[] getCountry() {
return country;
}
public void setCountry(String[] country) {
this.country = country;
}
}
在此先感谢您的帮助和输入!
顺便说一句,还有其他类(class),只是不相关的自动取款机。
最佳答案
首先,对于您的Athlete类,您可以删除Getter and Setter
方法,因为您已经使用public
的访问修饰符声明了实例变量。您可以通过<ClassName>.<variableName>
访问变量。
但是,如果您确实要使用该Getter and Setter
,请改为将public
修饰符更改为private
。
第二个,对于构造函数,您正在尝试执行一种称为shadowing
的简单技术。 Shadowing
是当您的方法具有与声明的变量同名的参数时。这是shadowing
的示例:----------Shadowing sample----------
您有以下类(class):public String name;
public Person(String name){
this.name = name; // This is Shadowing
}
例如,在您的main方法中,您实例化Person
类,如下所示:Person person = new Person("theolc");
变量name
将等于"theolc"
。----------End of shadowing----------
让我们回到您的问题,如果您只想用当前代码打印第一个元素,则可以删除Getter and Setter
。删除constructor
上的参数。public class Athlete {
public String[] name = {"Art", "Dan", "Jen"};
public String[] country = {"Canada", "Germany", "USA"};
public Athlete() {
}
在您的主要方法中,您可以执行此操作。public static void main(String[] args) {
Athlete art = new Athlete();
System.out.println(art.name[0]);
System.out.println(art.country[0]);
}
}