你好,所以我的问题中有两个数组列表,一个填充了前 1000 个女孩名字及其使用次数,另一个填充了前 1000 个男孩名字及其使用次数。用户输入一个名字,搜索两个数组列表,然后输出该名字是否在男孩或女孩的名字中,他们的排名以及他们被使用的次数。如果该名字位于前 1000 个男孩名字中,则还需要输出 The name is not apart of the top 1000 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.");
}
显然我收到了一个错误,因为我不能有一个 else 语句,前面没有 if 。一切都有效,只要搜索数组并找到排名以及我只需要它输出正确的东西即可。我完全不知道该怎么做才能让它发挥作用。
更新-我尝试了 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.");
}
最佳答案
您可以检查它是否包含它:
if(girls.contains(nameSearch)) {
// Look for the data
} else {
// print error
}
关于java - 通过数组列表搜索? java ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20450092/