これがスクープです。ArrayList をループして、値が入力されたキーワードと等しいかどうかを確認するプログラムがあります( inputArray[0]
)
inputArray[0]
内の値のいずれとも等しくない場合のデフォルト アクションを追加したいkeyList
else if
私が問題を抱えているところです。keyList
「最後の手段」であるelseステートメントに頼る前に、ループがすべての値を通過するようにします。現在、私の問題は、最初の if ステートメントで、それがinputArray[0]
等しくないことを確認keyList[x]
し、別のループを実行せずに else ステートメントに移動することです。
ご覧のとおり、else if ステートメントを使用してみました。ここで、ループのカウンター x が keyList のサイズよりも大きい場合、内部でコードを実行しますが、一見うまくいきません。また、else ステートメントに追加continue;
して、ループを確実に通過するようにしました。コンソールによると、それはそうです。System.out
(ループの最初のステートメントのおかげでわかります。)
public static void wikiInit(ArrayList keyList, ArrayList nameList, ArrayList domainList, ArrayList softwareList, String[] inputArray, EntityPlayer player)
{
System.out.println("These are the current lists:");
System.out.println("Key List: " + keyList);
System.out.println("Name List: " + nameList);
System.out.println("Domain List: " + domainList);
System.out.println("Software List: " + softwareList);
// KEY PARSER
for(int x = 0; x < keyList.size(); x++)
{
System.out.println("Starting the loop");
if((keyList.get(x)).equals(inputArray[0]))
{
//getWikiName = wikiNameArray[x]
//getWikiDomain = wikiDomainArray[x]
//getWikiSoftware = wikiSoftwareArray[x]
StringBuilder hyperlinkBuilder = new StringBuilder();
for(int y = 1; y < inputArray.length; y++)
{
hyperlinkBuilder.append(inputArray[y] + " ");
}
if((softwareList.get(x)).equals("MEDIAWIKI"))
{
String hyperlink = "http://" + domainList.get(x) + "/index.php?search=" + hyperlinkBuilder.toString();
System.out.println("Searching for " + hyperlinkBuilder.toString() + " on the " + nameList.get(x));
player.addChatMessage("Searching for " + hyperlinkBuilder.toString() + " on the " + nameList.get(x));
BrowserHandler.browserInit(hyperlink.replace(" ", "+"), player);
System.out.println("Opening " + hyperlink.replace(" ", "+"));
break;
}
}
else if(x > keyList.size())
{//LAST RESORT
}
else
{
continue;
}
}
}