如何在Java中获取for循环的最后一个值?

时间:2018-09-27 05:03:34

标签: java loops for-loop iteration

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 :(得分:2)

如果您只想输出最后的发现,则需要移动

System.out.print(match);

脱离循环。

但是在打印>0之前,请确保计数器为match。否则,您将获得0-1作为输出。

要执行此操作,请添加另一个if (counter > 0) { }或将打印内容移至您现有的if (counter == 0)的else块中