Witam, od tygodnia bawię się z Javą, próbuję napisać listę tablicową z takimi metodami, ale mam pewien problem, ponieważ nie wiem jak zrobić, aby
ArrayList<Positions> list = new ArrayList<>();
było widoczne w klasie main oraz oczywiście metody, czy w takim razie powinnam napisać konstruktor inicjalizujący listę w klasie Positions, a następnie go wywołać w main? Za każdą radę dziękuję.
Klasa Postions:
import java.util.ArrayList;
import java.util.Scanner;
public class Positions {
ArrayList<Positions> list = new ArrayList<>();
private String name;
private int age;
private int ID;
String nameAdd;
int ageAdd;
int IDAdd;
public Positions(String name, int age, int ID) {
this.name = name;
this.age = age;
this.ID = ID;
}
public void getInfos() {
System.out.println("Dodaj element do tablicy: ");
Scanner in = new Scanner(System.in);
System.out.print(" Podaj imie:");
nameAdd = in.nextLine();
System.out.println();
System.out.print("Podaj wiek: ");
ageAdd = in.nextInt();
System.out.println();
System.out.print("Podaj ID: ");
IDAdd = in.nextInt();
System.out.println();
}
public void addPosition() {
getInfos();
ArrayListTest.Positions pos = new ArrayListTest.Positions(nameAdd, ageAdd, IDAdd);
list.add(pos);
}
public void removePosition() {
System.out.println("Podaj element do usuniecia: ");
Scanner in = new Scanner(System.in);
int index;
list.remove(index);
}
public void setOnAnyPosition() {
System.out.println("Dodaj element do tablicy: ");
Scanner in = new Scanner(System.in);
int index;
System.out.println("Podaj indeks: ");
index = in.nextInt();
ArrayListTest.Positions pos2 = new ArrayListTest.Positions(nameAdd, ageAdd, IDAdd);
list.set(index, pos2);
}
public void ArraySizeShow()
{
System.out.println(list.size());
}
public void changePosition() {
System.out.println("Dodaj element do tablicy ktory chcesz zmienic : ");
Scanner in2 = new Scanner(System.in);
String nameAdd3;
int index2;
System.out.println("Podaj indeks: ");
index2 = in2.nextInt();
ArrayListTest.Positions pos2 = new ArrayListTest.Positions(nameAdd, ageAdd, IDAdd);
list.set(index2, pos2);
}
Klasa ArrayList:
package ArrayListTest;
import java.util.ArrayList;
public class ArrayList2
{
public static void main (String[] args)
{
System.out.println("----LISTA TABLICOWA-----");
System.out.println("Co chcesz wykonać? ");
System.out.println("1. Dodac element do listy. ");
System.out.println("2. Usunac elemnt z listy.");
System.out.println("3. Wstawić na dowolna pozycje.");
System.out.println("4. Rozmiar listy.");
System.out.println("5. Zmienic wartosc na podanym indeksie.");
int choice;
for(;;) {
switch (choice)
{
case 1:
{
list.addPosition; //` ** tutaj nie widać* list* ani metody *addPosition***`
}
}
}
}
}