Массив arr=asd, asd, asd, ;, fgf
ArrayList Que=new ArrayList();
ArrayList<String> arrayList = new ArrayList<String>(Arrays.asList(arr));
razdelN=0;
razdelK=Element(arr,2);
for (i=razdelN;i<=razdelK;i++){
Que.add(arrayList.get(i));
}
private int Element(String[] arr,int i){
for (int j = i; j < arr.length; j++) {
if (arr[j].equals(" ;")) {
ch=j+1;
break;
}
}
return ch;
}
Приложение вылетает из-за Que.add(arrayList.get(i));
Пример кода, который находит в строке точку с запятой и копирует так как делали вы данные из одного ArrayList в другой ArrayList до точки с запятой.
import java.util.ArrayList;
import java.util.Arrays;
/**
* Created on 25.11.2017.
*/
public class Main {
static ArrayList<String> que = new ArrayList(); //имена переменныз в Java принято начинать с маленькой буквы, по этому Que -> que
static String[] arr = {"asd","asd","asd"," ;","fgf"};
static ArrayList<String> arrayList = new ArrayList<String>(Arrays.asList(arr));
public static void main(String[] args) {
int ch = getElementPosition(arr, 0);
for (int i = 0; i <= ch; i++) {
que.add(arrayList.get(i));
}
// вывод результата:
for(String str : que) { //Проход по всему ArrayList и вывод
System.out.println(str);
}
}
public static int getElementPosition(String[] inputString, int startPosition){
if(startPosition > inputString.length || startPosition < 0){
return -1; // стартовая позиция вне диапазона массива. Поиск ничего не нашел
}
for (int i = startPosition; i < inputString.length; i++) {
if (arr[i].equals(" ;")) {
return i;
}
}
return -1; // если поиск не увенчался успехом
}
}
Справедливости ради следует заметить, что данную задачу можно решить намного проще
Сборка персонального компьютера от Artline: умный выбор для современных пользователей