【发布时间】:2014-11-27 23:45:59
【问题描述】:
我是 Java 的新手,到目前为止,我所做的只是绘制一些形状和标志。我正在努力理解我得到的代码。我需要访问存储在另一个类中的 ArrayList 中的值。我不确定我是否有任何意义,所以这里有两个类 Seat 和 Mandate:
package wtf2;
import java.util.*;
public class Seat {
public int index;
public String place;
public int electorate;
public String mp;
public String party;
public String prev;
public ArrayList<Mandate> results;
public Seat(int index, String place) {
this.place = place.trim();
this.index = index;
this.results = new ArrayList<Mandate>();
}
public void addMandate(Mandate m) {
//First candidate is always the MP
if (mp == null) {
mp = m.candidate;
party = m.party;
}
results.add(m);
}
public String toString() {
return "[" + this.index + "," + this.place + "]";
}
}
class Mandate {
public String candidate;
public String party;
public int vote;
public Mandate(String candidate, String party, int vote) {
this.candidate = candidate;
this.party = party;
this.vote = vote;
}
}
主类包含将来自 2 个文本文件的数据输入到 Seat 和 Mandate 的代码。从那里我设法访问了 Seat 中的日期。喜欢这里:
//Who is the MP for "Edinburgh South"
public static String qA(List<Seat> uk) {
for (Seat s : uk)
if (s.place.startsWith("Edinburgh South"))
return (s.mp);
return "Not found";
}
现在,我需要获取投票值,将它们相互比较,取第二大并显示合作党值,而不是只获取爱丁堡南部的 mp。 非常感谢任何帮助,例如如何访问该数组中的数据至少可以帮助我入门。
【问题讨论】:
-
如果你要求人们阅读你的代码,你应该修正你的缩进。
-
我建议有两个
Seat变量,引用迄今为止获得最多票数和第二大票数的Seat。使用以for(Seat seat:uk) {或类似名称开头的循环遍历您的List,并在您发现投票值大于已存储投票值的席位时更新这两个变量。 -
看来您正在查看
for-eachloop。
标签: java arrays eclipse class arraylist