Передача значения / значений за пределы цикла for в переменную - java :: processing

1

Я смотрю, как передать значение слова и его соответствующий счетчик для сохранения в переменную вне цикла for. Мой код в настоящее время:

import java.util.Iterator; 
import java.util.*;


import com.google.common.collect.ImmutableMultiset; 
import com.google.common.collect.Multiset; 
import com.google.common.collect.Multisets; 

ImmutableMultiset<String> top = null;

void setup() { 
   size(800, 480); 
   smooth(); 

   String[] data = loadStrings("data/data.txt");

   ImmutableMultiset<String> myMultiset = ImmutableMultiset.copyOf(data); 

   top = Multisets.copyHighestCountFirst(myMultiset); 

   Iterator it = top.entrySet().iterator(); 

   for (int i = 0; (i < 5) && it.hasNext(); i++) { 
      Multiset.Entry entry = (Multiset.Entry) it.next(); 

      String word = (String) entry.getElement(); 
      int count = entry.getCount(); 

      System.out.println(word + " -> " + count);
   }
}

Мне нужны эти значения, чтобы применить их к гистограмме в моей функции draw().

  • 0
    объявить переменную вне области видимости цикла. Тогда они будут сохраняться после окончания цикла.
  • 0
    Вы берете 5 первых слов и считаете. Как вы хотите установить это в одной переменной, как предложено в ответе? тебе не нужно 5?
Показать ещё 1 комментарий
Теги:
for-loop
loops
processing
multiset

2 ответа

2
Лучший ответ

Вы можете объявлять переменные в своем классе, а не локально в расширенном цикле.

например

private String word;
private int count;

и использовать геттеры для их вызова

например

public String getWord(){ return word; }
  • 0
    @Nebbyyy Нет проблем. Отметьте этот ответ как полезный и веселитесь.
1

Чтобы расширить ответ на Мюрат, это вопрос переменной видимости. Все, что объявлено в блоке цикла for (между границами {}), будет видимо только внутри этого блока.

Если вы объявите переменную count вне цикла цикла for, вы сможете использовать ее в пределах области, содержащей цикл for; в этом случае метод установки.

Пример Мурата позволит вам получить значение этой переменной из любого места, независимо от того, находится ли он внутри этого или какого-либо другого класса.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню