java遍历ArrayList
我目前正试图通过一个ArrayList
来iterate
,看看它是否包含我输入到winners数组中的以下数字。但是,票证object
不允许我使用.contains()
方法,这就是我得到错误的地方。你知道如何解决这个问题吗
int[] winners = new int[6];
for(int i = 0; i < winners.length; i++)
{
winners[i] = in.nextInt();
}
in.close();
Scanner scan = new Scanner(file);
ArrayList<Ticket> info = new ArrayList<Ticket>();
for(int i = 0; i < lim; i++)
{
String name = scan.nextLine();
String num = scan.nextLine();
String[] t = num.split(" ");
int[] tichold = new int[t.length];
for(int j = 0; j < t.length; j++)
{
tichold[j] = Integer.parseInt(t[j]);
}
Ticket ticket = new Ticket(name, tichold);
info.add(ticket);
}
**for(Ticket t : info)
{
if(t.contains(winners))
{
System.out.println("Yes");
}
}**
scan.close();
}
**public static class Ticket
{
public String name;
public int[] tarray;
public Ticket(String name, int[] tarray)
{
this.name = name;
this.tarray = tarray;
}**
# 1 楼答案
使用添加的包含方法尝试此票证类:
# 2 楼答案
不能使用该类不存在的方法。因为您没有为
Ticket
定义contains
,所以它不起作用并不奇怪根据推论,
winners
是一个int[]
。在这种情况下,您需要在Ticket
的内部定义一个新方法contains
根据给定彩票中奖号码的存储方式,以及您如何定义不同的中奖条件,您可以在这里处理您的逻辑
如果它们存储为数组,并且需要精确匹配,那么可以使用^{} 进行匹配