【发布时间】:2020-08-21 08:14:38
【问题描述】:
我正在尝试将用户字符串的字符与也从用户获得的 2 个字符进行比较,如果其中一个字符在特定索引中等于该字符串的字符,那么我需要打印该索引。
import java.util.Scanner;
public class TestIndexOf {
private static String text;
private static char ch1, ch2;
public static void main(String[] args) {
TestIndexOf test = new TestIndexOf();
test.getInput();
System.out.println(test.getIndex(text, ch1, ch2));
}
public static void getInput() {
Scanner scan = new Scanner(System.in);
System.out.println("Enter word and chars: ");
text = scan.nextLine();
char ch1 = scan.next().charAt(0);
char ch2 = scan.next().charAt(0);
}
public static int getIndex(String text, char ch1, char ch2) {
for (int i = 0; i < text.length(); i++) {
if (text.charAt(i) == ch1) {
return i;
}
if (text.charAt(i) == ch1) {
return i;
}
}
return -1;
}
}
【问题讨论】:
-
我需要在没有 indexOf() 的情况下获取它
-
您在
getIndex方法中检查了两次ch1。对吗? -
为什么你有两次
if (text.charAt(i) == ch1) {?我假设两个比较之一必须针对 ch2。是笔误吗? -
哎呀对不起,如果 (text.charAt(i) == ch2) 应该是一个错字