Scanner scanner=new Scanner(System.in);
System.out.println("Type the ten digit number");
String input=scanner.nextLine();
System.out.println("the input is"+input);
我使用上面的代码。我想在给定的数字中找到零的位置。 例如0123456780,零位置是第一个和第十个。我怎么能找到它?
答案 0 :(得分:0)
试试这段代码。它使用正则表达式,因此即使在更复杂的情况下它也可以完成工作:
String str = "03248923789320";
Pattern p = Pattern.compile("(0)");
Matcher matcher = p.matcher(str);
while(matcher.find()) {
System.out.println(matcher.start(0));
}
我使用正则表达式,因为我假设你在迭代字符串并找到像'0'这样简单的位置时不会遇到任何问题。
如果情况确实如此,你需要单个字符的索引更快的解决方案是:
for (int i = 0; i < str.length(); i++) {
if (str.charAt(i) == '0') {
System.out.println(i);
}
}