Как взять последнее значение цикла for в Java? - PullRequest
0 голосов
/ 27 сентября 2018
import java.util.Scanner;
public class Problem1{
  public static void main(String[] args){
    //input
    Scanner kb = new Scanner(System.in);
    String word,letter;
    int counter=0, match,value;
    word=kb.next();
    word=word.toLowerCase();
    letter=kb.next();
    letter=letter.toLowerCase();
    //loop
    for (int i=0;i<word.length();i++)
      if (word.charAt(i)==letter.charAt(0)){
        counter++;
        match=i;
    System.out.print(match);
    }
    if (counter==0)
      System.out.print(-1);
  }
}

Я должен выполнить эту программу в Codio.Эта программа будет читать слово и букву, проверять, есть ли буква в слове или нет.

Если да, будет напечатан индекс буквы в слове;Если письмо встречается более одного раза, будет напечатано последнее местоположение.Если буква отсутствует в слове, она напечатает -1.

Когда я запустил его в Codio, там было 3 места с буквой: 2, 3 и 5. Я хочу взять только 5.

Я был бы очень признателен, если кто-нибудь мог помочьмне с этим.

1 Ответ

0 голосов
/ 27 сентября 2018

Если вы хотите вывести только свою последнюю находку, вам нужно вывести

System.out.print(match);

из цикла.

Но перед печатью убедитесь, что ваш счетчик равен >0match.В противном случае вы получите 0-1 в качестве вывода.

Для этого либо добавьте еще один if (counter > 0) { }, либо переместите отпечаток в блок else вашего уже существующего if (counter == 0)

...