Ошибка добавления в ArrayList - Java

1

Это фрагмент моего кода:

import java.util.Scanner;
import java.util.ArrayList;
import java.util.Collections;

public class Spiral3{
    public static ArrayList<Integer> R = new ArrayList<Integer>(); 
    public static ArrayList<Integer> K = new ArrayList<Integer>();
    R.add(1);
    K.add(1);
    public static String pekare = "H";

Все, что я пытаюсь сделать, это создать два массива с первым элементом int 1. Итак, R = [1], K = [1]. Я получаю следующую ошибку:

Spiral3.java:8: error: <identifier> expected
    R.add(1);
         ^
Spiral3.java:8: error: illegal start of type
    R.add(1);
          ^
Spiral3.java:9: error: <identifier> expected
    K.add(1);
         ^
Spiral3.java:9: error: illegal start of type
    K.add(1);

Что здесь происходит? Благодарю за вашу помощь :)

Теги:
arraylist

3 ответа

1
Лучший ответ
R.add(1);
K.add(1);

Эти утверждения должны быть внутри некоторого метода или блока конструктора или инициализатора.

Например:

static {
    R.add(1);
    K.add(1);
}
  • 0
    Могу ли я добавить их в инициализацию, чтобы избежать необходимости добавлять их в метод?
  • 0
    @ user3128156 Вы можете использовать статический блок инициализатора (см. мое редактирование).
1

Если вы хотите, чтобы список был инициализирован этими значениями, вы можете передать его как List:

public static ArrayList<Integer> R = new ArrayList<Integer>(Arrays.asList(1)); 
public static ArrayList<Integer> K = new ArrayList<Integer>(Arrays.asList(1));
0

Вы должны сделать так:

  // create an array list
  ArrayList al = new ArrayList();

  System.out.println("Initial size of al: " + al.size());

  // add elements to the array list
  al.add("C");
  al.add("A");
  al.add("E");

Ещё вопросы

Сообщество Overcoder
Наверх
Меню