Python для синтаксиса цикла в Java

#java #python #for-loop #syntax

#java #python #для цикла #синтаксис

Вопрос:

  for j in [c for c in coinValueList if c <= cents]:
  

Как бы вы написали это для цикла в Java?
Это

 for(j=0, j <= cents, j  ){
    for(c=0; c<= cents, j  ){
  

Я не уверен, с чем следует сравнивать c и j.
CoinValueList = {1,5,10,25}
cents = 0 — он находится в своем собственном цикле for перед этими двумя.

Комментарии:

1. Вы перебираете данные в списке в приведенном выше коде python, поэтому ниже будет показано, как вы последовательно получаете доступ к данным списка или массива.

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

Ответ №1:

Давайте разложим:

 array = [c for c in coinValueList if c <= cents] # produces an array of coins from coinValueList that are <= cents
for j in array: # iterates over array
    #stuff
  

Таким образом, мы можем сделать это только за один цикл, и эквивалент Java будет:

 for(int j=0; j<coinValueList.length; j  ) {
    if(coinValueList[j] <= cents) {
        #stuff
    }
}
  

Ответ №2:

если вы хотите перевести очень буквально на Java

 List<Integer> newList = new ArrayList();

for(Integer c : coinValueList) {
    if(c <= cents) {
        newList.append(c);
    }   
}

for(Integer j : newList) {
    # do something
}
  

но обычно вам не нужен второй for цикл