2015-08-15 4 views
-1
public void run()//This line is fine 
    { 
    OpenCrate.this.results.put(p, Integer.valueOf(((Integer)OpenCrate.this.results.get(p)).intValue() + 1));//This line is fine 
    for (int i = 0; i < 27; i++)//This line is fine 
    { 
     ItemStack it = new ItemStack(Material.STAINED_GLASS_PANE, 1, (short)(new Random().nextInt(15) + 1));//This line is fine 
     m = it.getItemMeta();//This line is fine 
     m.setDisplayName(" ");//This line is fine 
     it.setItemMeta(m);//This line is fine 
     inv.setItem(i, it);//This line is fine 
    } 
    List<String> longlist = new ArrayList();//This line is fine 
    String s;//This line is fine 
    int i;//This line is fine 
    for (ItemMeta m = CrateResult.getResults().iterator(); m.hasNext();//This line is fine 
      i < new CrateResult(s).getChance()); //THE ERROR IS THE "<" ON THIS LINE 
    { 
     s = (String)m.next(); //This line is fine 
     i = 0; continue;//This line is fine 
     longlist.add(s);//This line is fine 
     i++;//This line is fine 
    } 

Я получаю сообщение об ошибке на символе «<», который говорит о синтаксической ошибке на лексемы «<», недействительным AssignmentOperator. Это плагин Bukkit.Синтаксическая ошибка, недействительный AssignmentOperator

+1

Что нового в CrateResult (s) .getChance() 'return? Возвращает ли он int? Также содержание контуров не имеет никакого смысла. Вы всегда устанавливаете 'i = 0', а затем продолжаете. Строки после 'continue' никогда не выполняются. –

ответ

0

The syntax for the for loop является

for ([assignment]; [condition]; [increment action]){} 

Ошибка синтаксиса говорит вам, что ваш прирост действия на самом деле сравнение, и здесь не имеет. Я не могу следовать тому, что вы пытаетесь достичь с i в этом немного, но я думаю, что вы хотите, как:

for (ItemMeta m = CrateResult.getResults().iterator(); i = new CrateResult(s).getChance();m.hasNext()) 
     { ... 

Или:

for (ItemMeta m = CrateResult.getResults().iterator(); i < new CrateResult(s).getChance() && m.hasNext() ;) 
     { ... 

(Хотя в любом случае я не уверенное создание и отбрасывание нового CrateResults - это то, что вы ищете?)

Обратите внимание, что точка с запятой в конце этой строки в коде вызовет у вас проблему - это будет означать, что цикл for не является фактически выполняющий любой код.

Смежные вопросы