【发布时间】:2017-10-23 05:27:25
【问题描述】:
我想计算所有为真的对象并返回它(正如我在 countNational 中尝试做的那样。我用来将对象分配为真/假的方法在不同的类中并命名为 NationalMessage。我已经粘贴了它位于 main 方法的下方。
public class Ex6
{
public static int countNational (ArrayList<Message> messageList)
{
int countTrue = 0; //will count those that are true
for (int i = 0; i<= messageList.size(); i++)
{
if(messageList.get(i)==true) //GETTING ERROR SAYING CAN'T COMPARE BOOLEAN
countTrue = countTrue + 1;
}
return countTrue;
}
public static void main(String[] args)
{
ArrayList<Message> messageList = new ArrayList<Message>();
messageList.add(new NationalMessage("UKJohn","UKMark","aa"));
messageList.add(new NationalMessage("UKJohn","FRJean","aa"));
messageList.add(new Message("Mike","John","aa"));
System.out.println(countNational(messageList));
}
}
****************************** 下面是来自一个名为 NATIONAL MESSAGE 的单独班级的方法********** *******************
public NationalMessage(String ssender, String rreceiver, String ccontent)
{
super(ssender,rreceiver,ccontent);
if (ssender.equals("UK") && rreceiver.equals("UK"))
{
isNational = true;
}
else
{
isNational = false;
}
}
【问题讨论】:
-
您要检查
isNational吗?换成if(messageList.get(i).isNational)怎么样? -
我们怎么知道
Message是真的还是假的? -
您的代码有几个问题。
ssender和rreceiver(无论第一个字母的重复点是什么……)不应该等于"UK",而是从它开始。 -
我相信问题应该说
How to return the count of true objects in an ArrayList -
@dejvuth NationalMessage 方法在一个单独的类中,所以当尝试你建议的方法时,我一直收到一个错误,说找不到变量 isNational。我该如何解决这个问题?
标签: java arrays oop object arraylist