Вводится строковый массив, как показано ниже,
Пример строки журнала: 001 555 3334523 AppName 2341 Это сообщение. 001 1224 3334524443 AppSecond 2341 Это сообщение, бла 341 "" - *. 022201 55555 3333334523 AppThird 2341 Это еще одно сообщение. 0301 533555 3334523 AppName 2341 Это еще одно сообщение.
Мне нужно напечатать все строки, которые содержат AppName .
Это то, что я пробовал.
public static void findArrayString(String[] input, String item)
{
for(int i = 0; i < input.length; i++)
{
List<String> chr = new ArrayList<>();
chr = Arrays.asList(input[i]);
if(chr.get(i).contains(item))
{
System.out.println(input[i]);
}
}
}
public static void main(String[] args)
{
String[] str = {"001 555 3334523 AppName 2341 This is a message.",
"001 1224 3334524443 AppSecond 2341 This is a message blah 341-*.",
"022201 55555 3333334523 AppThird 2341 This is some other message.",
"0301 533555 3334523 AppName 2341 This is another message."};
findArrayString(str,"AppName");
}
}
My output is :
001 555 3334523 AppName 2341 This is a message.
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: Index 1 out of bounds for length 1
at java.base/java.util.Arrays$ArrayList.get(Arrays.java:4351)
at Solution.findArrayString(Solution.java:31)
at Solution.main(Solution.java:47)
Может кто-нибудь сказать мне, где я иду не так?