【发布时间】:2013-12-08 05:01:30
【问题描述】:
您好,我的问题中有两个数组列表,一个包含前 1000 个女孩名字和使用次数,另一个填充前 1000 个男孩名字和使用次数。用户输入一个名字,通过数组列表搜索并输出该名字是否在排名靠前的男孩或女孩名字中,他们的排名是什么以及他们被使用了多少次。如果名字在前 1000 个男孩名中,它还需要输出 The name is not part of the top 1000 boy name and if it is a boy name.这就是我所拥有的
public void search()
{
Scanner keyboard = new Scanner(System.in);
System.out.println("Please enter the name you would like to search.");
nameSearch = keyboard.next();
for(int i = 0; i < girls.size(); i++)
{
if(nameSearch.equals(girls.get(i).getName()))
{
System.out.println(nameSearch + " is ranked " + (i+1) + " in popularity among girls with " + girls.get(i).getAmount() + " namings.");
}
}
else
System.out.println(nameSearch + " is not in the top 1000 girl names.");
for(int i = 0; i < boys.size(); i++)
{
if(nameSearch.equals(boys.get(i).getName()))
{
System.out.println(nameSearch + " is ranked " + (i+1) + " in popularity among boys with " + boys.get(i).getAmount() + " namings.");
}
}
else
System.out.println(nameSearch + " is not in the top 1000 boys names.");
}
显然我得到一个错误,因为如果没有 if 之前我不能有 else 语句。只要搜索数组并找到排名以及我只需要它来输出正确的东西,一切都会正常工作。我完全不确定该怎么做才能让它发挥作用。
更新-我尝试了 contains 方法,但我永远无法让它工作。当我知道它是存在的名称时,它总是输出它无法在任一数组中找到名称。如果这看起来不对,请告诉我,因为它无法正常工作
谢谢! --杰斯
Scanner keyboard = new Scanner(System.in);
System.out.println("Please enter the name you would like to search.");
nameSearch = keyboard.next();
if(girls.contains(nameSearch))
{
for(int i = 0; i < girls.size(); i++)
{
if(nameSearch.equals(girls.get(i).getName()))
{
System.out.println(nameSearch + " is ranked " + (i+1) + " in popularity among girls with " + girls.get(i).getAmount() + " namings.");
}
}
}
else
System.out.println(nameSearch + " is not in the top 1000 girl names.");
if(boys.contains(nameSearch))
{
for(int i = 0; i < boys.size(); i++)
{
if(nameSearch.equals(boys.get(i).getName()))
{
System.out.println(nameSearch + " is ranked " + (i+1) + " in popularity among boys with " + boys.get(i).getAmount() + " namings.");
}
}
} else
{
System.out.println(nameSearch + " is not in the top 1000 boys names.");
}
【问题讨论】:
标签: java if-statement for-loop arraylist