我正在建立一个模拟潜水比赛的计划。我有一个类Athlete
,它本质上试图访问另一个类中的数组元素。有谁知道我如何访问数据?
以下是Athlete
类:
public class Athlete {
public static String[] name = { "Art Class", "Dan Druff", "Jen Tull" };
public static String[] country = { "Canada", "Germany", "USA" };
Performance[] performance = new Performance[2];
public Athlete(String[] name, String[] country) {
this.name = name;
this.country = country;
// this.event = event;
}
public void perform() {
Dive mydive = new Dive(Dive.diveName, Dive.difficulty);
Performance event = new Performance(event.dive, Performance.judgeScores);
performance[0] = event(event.dive.diveNames[0], event.judgeScores); // here
performance[1] = event; // Here
performance[2] = event; // Here
}
public void printResults() {
}
}
用“// Here”表示我试图访问下面显示的类中的数据,我想知道我该怎么做?
性能:
public class Performance {
Dive dive = new Dive(Dive.diveName, Dive.difficulty);
public static float[] judgeScores = new float[7];
public Performance(Dive dive, float[] judgeScores) {
this.dive = dive;
// this.dive=difficulty;
this.judgeScores = judgeScores;
// this.judgeScores = judgeScores;
}
}
潜水:
import java.util.Random;
public class Dive {
public static String diveName;
public static int difficulty;
public static final String[] diveNames = { "reverse pike", "forward pike",
"reverse armstand with double somersault", "reverse triple twist",
"double forward with triple somersault", "cannon ball" };
public static final int[] diveDifficulties = { 3, 2, 2, 4, 4, 1 };
public static Dive chosenRandomly() {
Random rand = new Random();
int num = rand.nextInt(6) + 1;
String diveName = diveNames[num];
int difficulty = diveDifficulties[num];
Dive dive = new Dive(diveName, difficulty);
return dive;
}
public Dive(String diveName, int difficulty) {
this.diveName = diveName;
this.difficulty = difficulty;
}
}
我的构造函数都错了吗?
PS: 这是功课,所以有些人可能找不到我的方法来解决问题,但请记住我正在关注说明。
提前感谢任何输入!
答案 0 :(得分:1)
通常,从其他类(甚至是公共类)访问字段不是一个好主意。您应该为数组字段创建getters并访问它们。
答案 1 :(得分:1)
假设您正在一个名为Javadir的目录中工作,并且您创建了四个文件,其内容如下所示。
档案1
package ListPkg;
public class List { ... }
class ListNode {...}
文件2
package ListPkg;
public class NoNextItemException { ... }
文件3
public class Test { ... }
class Utils { ... }
档案4
class Test2 { ... }
以下是您必须使用的目录和文件名:
文件1必须位于名为List.java
的文件中名为ListPkg的子目录中。
文件2也必须位于ListPkg子目录中,名为NoNextItemException.java
的文件中。
文件3必须位于名为Test.java
的文件中(在Javadir目录中)。
文件4可以在任何.java文件中(在Javadir目录中)。
有关更多指南,请参阅此notes on java packages