我正在尝试创建一个程序,每当找到一个字符(用于检查'a')时,它会打印它并移动到下一个字符进行检查。继续这样做直到word.length结束。 这是我到目前为止所做的,但不起作用,
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
System.out.print("Enter a word: ");
String word = in.next();
String a = "a";
int i;
char found = 0;
char F;
for (i = 0; i < word.length(); i++)
{
F = word.charAt(i);
if (F == found)
{
System.out.println(i);
}
}
}
答案 0 :(得分:1)
尝试
Scanner in = new Scanner(System.in);
System.out.print("Enter a word: ");
String word = in.next();
Pattern p=Pattern.compile("a");
Matcher matcher=p.matcher(word);
boolean b=false;
while(b=matcher.find())
{
System.out.println(matcher.start()+"");
}
修改强>
Pattern.compile(“a”);
Compiles the given regular expression into a pattern
<强> p.matcher(字); 强>
Creates a matcher that will match the given input against this pattern.
如果您想搜索aba
之类的源字符串,那么对于所有出现的表达式a
,它会像
source:aba
index:012
我们可以看到表达式a的两个出现:一个从位置0开始,第二个从2开始。所以输出是0 2
答案 1 :(得分:1)
试试这个
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
System.out.print("Enter a word: ");
String word = in.next();
char F;
for (int i = 0; i < word.length(); i++) {
F = word.charAt(i);
if (F == 'a') {
System.out.println(i);
}
}
}
答案 2 :(得分:0)
使用这个简单的
string.indexOf("a");