preciso alimentar o List acimaDaMedia = new ArrayList<>(); que está no main; porém o metodo está em outra classe e não estou conseguindo adicionar os valores com acimaDaMedia.add();
Para acessar o metodo que está no main de outra classe voce tem que deixá-lo publico e estático ou criar um get/set para ele.
Fiz 2 classes pra você ver um exemplo baseado no seu enunciado:
TESTES:
package amain;
import java.util.ArrayList;
import java.util.List;
public class Testes {
// Array que voce quer alimentar
public static List<Integer> acimaDaMedia = new ArrayList<>();
// seu metodo main
public static void main(String[] args) {
// MANEIRA 1 DE FAZER
// Chamar um método que retorna uma lista e alimentar o array
ArrayList<Integer> listadaoutraclasse = Outraclasse.alimentadorDeArray1();
acimaDaMedia.addAll(listadaoutraclasse);
// MANEIRA 2 DE FAZER
// Chamar um metodo que preenche o array diretamente da outra classe por uma chamada estatica
Outraclasse.alimentadorDeArray2();
// Imprimindo o retorno
acimaDaMedia.forEach(valor -> System.out.println("Media preenchida na outra classe : " + valor));
}
}
OUTRA CLASSE:
package amain;
import java.util.ArrayList;
public class Outraclasse {
public static ArrayList<Integer> alimentadorDeArray1() {
// Preenchendo um array de valores para usar como exemplo
ArrayList<Integer> acimadamedia = new ArrayList<Integer>();
acimadamedia.add(100);
acimadamedia.add(20);
acimadamedia.add(80);
acimadamedia.add(10);
return acimadamedia;
}
// Ao invés de retornar uma lista você ja pode chamar seu array e popular diretamente desta classe se ele for publico e estático
public static void alimentadorDeArray2() {
// Preenchendo um array de valores para usar como exemplo atraves de uma chamada estática
Testes.acimaDaMedia.add(100);
Testes.acimaDaMedia.add(20);
Testes.acimaDaMedia.add(80);
Testes.acimaDaMedia.add(10);
}
}