Próbuję przekonwertować listę całkowitą w tablicy 2D w Java 7. Najpierw przekształciłem listę łańcucha na liczbę całkowitą, a następnie lista całkowita do tablicy 2D. Potem zrobię więcej operacji zgodnie z wymaganiami. To, co jestem zmęczony

List<String> list = Arrays.asList("1110", "1010", "1011", "1110");
    List<Integer> intList = new ArrayList<>();
    for (String s : list) {
        intList.add(Integer.valueOf(s));
    }
    //the problem is from here
    int[][] array = new int[intList.size()][];
    for (int i = 0; i < list.size(); i++) {
        for (int j = 0; j < list.size(); j++) {
            array[i][j] = intList.get(j + (list.size() * i));
        }
    }

Próbowałem rozwiązać mojego problemu, patrząc na to konwersją arraylist do tablicy 2D i to Konwertuj arraylista do tablicy 2D zawierającej różne długości tablice ale większość odpowiedzi podano w Javie 8, którego nie chcę! Znam to podstawowy problem, ale utknąłem! Czy ktoś może mi pomóc naprawić to? Z góry dziękuję!

Otrzymana tablica 2D powinna być jak

1110

1010

1011

1110

-2
Rajnish Sharma 25 lipiec 2020, 18:54

1 odpowiedź

Najlepsza odpowiedź

Możesz użyć .charAt(), aby uzyskać znak pozycji w każdym ciągu.

List<String> list = Arrays.asList("1110", "1010", "1011", "1110");
int[][] array = new int[list.size()][list.get(0).length()];
for (int i = 0; i < list.size(); i++) {
    for (int j = 0; j < list.get(i).length(); j++) {
        array[i][j] = list.get(i).charAt(j)-'0';
    }
}
2
Eklavya 25 lipiec 2020, 16:22