这是我的代码,我试图在我的 getData() 方法中访问 e1、e2、e3,但它不起作用。如何让我的第二种方法识别第一种方法但将方法分开?
public class Model {
public Model() {
loadData();
}
public void loadData() {
Employee e1 = new Employee("John Smith", "California, PA.", "Dr. Robertson junior.");
Employee e2 = new Employee("Kyle Alston", "State College, PA.", "SmithTown");
Employee e3 = new Employee("Tommy Smith", "Baskeville, PA.", "Chicago");
}
public String getData(int n) {
if(n == 1){
return e1;
}
if(n == 2){
return e2;
}
if(n == 3){
return e3;
}
}
}
我试过 Model data = new loadData().e1 但我认为这行不通。
提前致谢。我不允许更改参数。
使用成员变量将值从一种方法保留到另一种方法。
public class Model {
private Employee e1, e2, e3;
public Model() {
loadData();
}
public void loadData() {
e1 = new Employee("John Smith", "California, PA.", "Dr. Robertson junior.");
e2 = new Employee("Kyle Alston", "State College, PA.", "SmithTown");
e3 = new Employee("Tommy Smith", "Baskeville, PA.", "Chicago");
}
public String getData(int n) {
if (n == 1) {
return e1;
}
if (n == 2) {
return e2;
}
if (n == 3) {
return e3;
}
return null;
}
}
为了比较,使用一个简单的数组重写。这里的好处是 getData 现在独立于员工数量。
public class Model {
private Employee[] e;
public Model() {
loadData();
}
public void loadData() {
e = new Employee[3];
e[0] = new Employee("John Smith", "California, PA.", "Dr. Robertson junior.");
e[1] = new Employee("Kyle Alston", "State College, PA.", "SmithTown");
e[2] = new Employee("Tommy Smith", "Baskeville, PA.", "Chicago");
}
public String getData(int n) {
if (n <= 0 || n > e.length) {
return null;
}
return e[n-1];
}
}
我可能会考虑使用 ArrayList 而不是数组,但数组在 Java 中更为基础,我认为这使其成为初始学习的更好选择。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句