【发布时间】:2019-03-02 22:35:12
【问题描述】:
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。
如果有人能帮我解决这个问题,我将不胜感激。
【问题讨论】:
-
在循环外声明一个变量。当您找到匹配的值时,更新它。循环完成后,局部变量将保存分配给它的最后一个值。
-
word.lastIndexOf(letter);怎么样?
标签: java loops for-loop iteration