Мой цикл, проверяя только первый элемент массива, что делает мой код не в состоянии каждый раз:Мой цикл проверяет только первый элемент массива
String igitems = "IgnoredItems";
String items = getConfig().getString("IgnoredItems.itemid");
items = items + args[0] + ",";
String[] myarray = items.split(",");
for(String fitem : myarray) {
if(!fitem.equals(args[0])){
getConfig().set(igitems + ".itemid", items);
saveConfig();
reloadConfig();
sender.sendMessage(prefix + ChatColor.GREEN + "Added " + ChatColor.GOLD + args[0] + ChatColor.GREEN + " to ignore list.");
break;
} else {
sender.sendMessage(prefix + ChatColor.RED + "Item is already in the list");
break;
}
}
Если добавить system.out.print(myarray);
после String[] myarray = items.split(",");
он показывает весь массив , который является правильным:
1:0
2:0
5:0
8:0
5:0
Но, когда я добавляю system.out.print(fitem);
после for(String fitem : myarray){
он показывает только первый элемент из массива (1: 0) которым делает мой код не в состоянии почти каждый раз, за исключением, если это первый элемент.
Имеет ли смысл «ломаться» как в части 'if', так и' else'? – manouti
Он должен найти элемент только один раз, если он найдет его, поэтому я его сломаю. – ax752
вы ломаетесь, если И еще. Таким образом, вы проверяете первый элемент, и это приводит к перерыву, даже если он не равен. удалить разрыв из 'else' –