2013-06-21 4 views
1
public static void main(String[] args) { 
    String a = "Kitten"; 
    String test = 't'; 
    while (a.substring(0, 1) != test) { 

    } 
} 

В принципе, я хочу выполнить код внутри цикла while до тех пор, пока подстрока не станет буквой «t». Я понятия не имею, как я могу проверить это. И я извиняюсь, что я очень новичок в java.Как проверить, соответствует ли индекс строки символу?

ответ

5

Вы можете сделать это:

String a = "Kitten"; 
char test = 't'; 

while(a.charAt(0) != test) { 

} 

Хотя из вашего вопроса, то кажется, что вы хотите перебрать через строку, пока вы не дойдете до «т». Тогда это сделало бы трюк.

String a = "Kitten"; 
char test = 't'; 
int i = 0; 

while(a.charAt(i) != test) { 
    // 
    // do stuff here 
    // 

    i++; 
} 

И если все, что вы хотите, это индекс символа «т», вы можете сделать это:

int indexOfTest = a.indexOf(test); 
+0

Большое спасибо! – ajkey94

+0

Добро пожаловать! – jh314

2

вы можете использовать

while (!a.substring(0, 1).equals(test)) { 

    } 

Теперь вы можете спросить, что, в чем разница между != и с использованием !equals. Фактически операторы == или != проверяют, одинаковы ли ссылки, когда метод equals соответствует значению

+0

О, интересно! Благодарю. – ajkey94

+0

btw, также помните строку intern concept, поэтому String test = "t"; Строка test1 = "t"; if (test == test1) вернет true из-за пула строк, поскольку как test, так и test1 указывают на ту же ссылку. – Sunny