2014-11-05 3 views
2

Итак, я хочу, чтобы сравнить из строки в массив строкСравнивая строку в массив строковых элементов

String [] string = new String [10]; 
string [1] = "pencil"; 
string [2] = "pen"; 
string [3] = "eraser"; 

Как сравнить строки в массив строк сверху?

+0

ли вы имеете в виду "Сравнить строку [] с несколькими String"? – Adheep

+0

Ваш вопрос непонятен и очень общий, чтобы ответить, если вы уточните, я могу помочь вам. – Adheep

+0

как это может быть ** одиночный ** и ** несколько ** строка? –

ответ

2

Более быстрый способ использовать этот код

if(Arrays.asList(string).contains(search_string)) 
+0

спасибо, он делает, как я хочу, нужно отредактировать еще несколько кодов. – xdhe

1

Если я правильно вас понимаю, напишите цикл, где повторяется несколько строк (пример массива) и равен строке src.

String [] string = new String [10]; 
... 
String src = ..;//src string 

for(String string : string){ 
    if(src.equals(string)){ 
     //Equal 
    } 
} 
+0

Я уже использую, он не работал, как я планировал. – xdhe

+1

Что такое секретный план? –

+0

, когда я сравниваю строку, он должен быть сопоставлен со всем кратным списком, а не с конкретным. – xdhe

0

Попробуйте использовать это:

for (int i = 0; i < string.length; i++) { 
    if (ch.equals(string[i])) { // ch is the string to compare 
    System.out.println("equal");//or whatever your action is 
    } 
} 

EDIT:

Если то, что вы ищете, чтобы сделать это проверьте, есть ли искомая строка в строке [i], которую вы можете попробовать:

string[0] = "pentagon"; 
string[1] = "pencil"; 
string[2] = "pen"; 
string[3] = "eraser"; 
string[4] = "penny"; 
string[5] = "pen"; 
string[6] = "penguin"; 
string[7] = "charp"; 
string[8] = "charpen"; 
string[9] = ""; 
String ch = "pen"; 

Затем проверьте, если массивы элементов содержат искомую строку:

for (int i = 0; i < string.length; i++) { 
    if (string[i].indexOf(ch) != -1) { 
    System.out.println(string[i]+" contains "+ch); 
    } else 
    System.out.println(string[i]+" doesn't contain "+ch); 
} 

EDIT 2:

int i=0; 
Boolean found=false; 
while(i < string.length && !found) { 
    if (string[i].indexOf(ch) != -1) { 
    found=true; 
    } 
i++; 
} 
if(found){ 
system.out.println(ch+" is found"); 
} 
+0

К сожалению, код не сработал. Скажем, если я ввожу «charp» в переменную ch, она отображает строку [i] не содержит charp. – xdhe

+0

Нет результат, то есть: *** пятиугольник не содержит СЬагры *** карандаш не содержит СЬагры *** ручка не содержит СЬагры *** ластик не содержат СЬагры * ** penny не содержит charp *** ручка не содержит charp *** penguin не содержит charp *** charp содержит charp *** charpen содержит charp *** не содержит charp –

+0

hmm, я смотрю. В основном я хочу, чтобы код проверял весь список, имеет ли он * ch *, а затем выводит на экран, если * ch * в списке. – xdhe

Смежные вопросы