Como faço para selecionar um vetor em java?

import java.util.Scanner;
public class Main
{
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		
		int data;
		String filmes[] = {"Avatar: O Caminho da Água", "Top Gun: Maverick", "Minions 2: A Origem de Gru", "Homem-Aranha: Sem Volta para Casa"};
		String opcoes[] = {"Estudante", "Professor", "Idoso (60+)", "Especial"};
		
		double diasemana = 12.00;
		double finalsemana = 15.00;
		
		double precototal = 0;
		int meiaentrada = 0;
		int poltrona;
		String nome, filme;
		float horario = 0;
		
		System.out.printf("\n-----------------------SEJA BEM VINDO-----------------------");
		System.out.printf("\n Ingresso em dias da semana: R$ %.2f", diasemana);
		System.out.printf("\n Ingresso em finais de semana: R$ %.2f \n", finalsemana);
		System.out.printf("------------------------------------------------------------");
		
		System.out.println("\n \nDigite (1) para final de semana ou (2) para dia útil: ");
		data = sc.nextInt();
		
		System.out.println("\nDigite o nome: ");
		nome = sc.next();
		
		System.out.println("\nDigite o número da poltrona: ");
		poltrona = sc.nextInt();
		
		if(poltrona>150){
		    System.out.println("\nNúmero inválido! Reinicie o programa.");
		}
		
		else{
		    
		System.out.println("\n--------------------------------------");
		System.out.println("Filmes: ");
		
		for(int i=0; i<4; i++){
		    
		    System.out.printf("\n %s - (%d)", filmes[i], i+1);
		}
		
		System.out.println("\n--------------------------------------");
		
		
		
		for(int i=0; i<1; i++){
		System.out.println("\nEscolha o filme (Digite o número): ");
		filmes[i] = sc.next();
		}
		
		System.out.println("\nDigite o horário: ");
		horario = sc.nextFloat();
		
		System.out.println("\n--------------------------------------");
		System.out.println("\nMeia-entrada");
		
		for(int i=0; i<4; i++){
		    
		    System.out.printf("\n %s - (%d)", opcoes[i], i+1);
		}
		System.out.println("\n Ingresso inteiro - (5)");
		System.out.println("\n--------------------------------------");
		System.out.println("\nDigite uma das opções para meia-entrada: ");
		meiaentrada = sc.nextInt();
		
		}
		
        for (int i=0; i<1; i++){
		if(data == 1 && meiaentrada>=5){
		    System.out.println("\n-----------------ENTRADA INTEIRA---------------------");
		    System.out.printf("\nNome: %s", nome);
		    System.out.printf("\nPoltrona: %d", poltrona);
		    System.out.printf("\nHorário: %.2f", horario);
		    System.out.printf("\nFilme: %s", filmes[i]);
		    System.out.printf("\n\nPreço: R$ 15.00");
		    System.out.println("\n------------------------------------------------------");
		}}
		
		if(data == 2 && meiaentrada>=5){
		    System.out.println("\n-----------------ENTRADA INTEIRA---------------------");
		    System.out.printf("\nNome: %s", nome);
		    System.out.printf("\nPoltrona: %d", poltrona);
		    System.out.printf("\nHorário: %.2f", horario);
		    System.out.printf("\n\nPreço: R$ 12.00");
		    System.out.println("\n------------------------------------------------------");
		}
		
		else if(data == 1 && meiaentrada<=4){
		    System.out.println("\n-----------------MEIA ENTRADA---------------------");
		    System.out.printf("\nNome: %s", nome);
		    System.out.printf("\nPoltrona: %d", poltrona);
		    System.out.printf("\nHorário: %.2f", horario);
		    
		    precototal = diasemana / 2;
		    System.out.printf("\n\nPreço: %.2f", precototal);
		    System.out.println("\n---------------------------------------------------");
		}
		
		else if(data == 2 && meiaentrada<=4){
		    System.out.println("\n-----------------MEIA ENTRADA---------------------");
		    System.out.printf("\nNome: %s", nome);
		    System.out.printf("\nPoltrona: %d", poltrona);
		    System.out.printf("\nHorário: %.2f", horario);
		    
		    precototal = diasemana / 2;
		    System.out.printf("\n\nPreço: %.2f", precototal);
		    System.out.println("\n---------------------------------------------------");
		}
	}
}

Como faço para selecionar um vetor no “FILMES” e imprimir o nome dele?

No código está imprimindo apenas o número de seleção dele
Ex: “Filme: 1” e não “Filme: (nome do filme)”

Aqui estás a substituir o nome do filme pelo número introduzido. Por isso depois imprime o número e não o nome do filme

Desculpe ainda não entendi :confused:

Quando você faz filmes[i] = algumacoisa, o valor que estava na posição i do array filmes passa a ser algumacoisa. Ou seja, você está sobrescrevendo o valor que estava ali antes.

No seu caso, você está pegando o que o usuário digitou e colocando no array. Isso faz com que o valor que estava ali anteriormente seja substituído pelo valor que o usuário digitou (ou seja, o nome do filme “some”).

Outra coisa, não misture next com nextInt, senão vai cair no problema já explicado aqui (e em trocentos outros tópicos do GUJ). Se for para ler entradas do teclado, use nextLine() (e depois converta para número caso necessário).

E pra que fazer for (int i = 0; i < 1; i++)? Isso só vai rodar uma vez, então pra que loop?

Não precisa declarar todas as variáveis no início, você pode declará-las mais próximo de onde são usadas. Isso ajuda inclusive a delimitar o escopo delas.

Também dá para simplificar outras coisas, por exemplo, eliminando esse monte de if/else no final e criando um método para mostrar as opções e ler uma delas (pois você faz a mesma coisa para os filmes e opções de meia-entrada, e quando tem algo repetitivo, é sinal de que talvez seja melhor generalizar para um método):

public class Main {
    // recebe um array de opções, mostra todas e pede para digitar uma delas
    // também valida se a opção escolhida é válida (se está entre os valores apresentados)
    static int escolheOpcao(String opcoes[], String nome, String textoEscolha, Scanner sc) {
        System.out.println("\n--------------------------------------\n" + nome + ": ");
        // use o tamanho (length) do array, em vez de valores fixos
        for (int i = 0; i < opcoes.length; i++) {
            System.out.printf("\n %s - (%d)", opcoes[i], i + 1);
        }
        System.out.println("\n--------------------------------------");
        while (true) {
            System.out.println("\n" + textoEscolha);
            int i = Integer.parseInt(sc.nextLine());
            if (i < 1 || i > opcoes.length) {
                System.out.println("Valor inválido, digite novamente");
            } else {
                return i;
            }
        }
    }

    public static void main(String args[]) throws Exception {
        Scanner sc = new Scanner(System.in);
        String filmes[] = {"Avatar: O Caminho da Água", "Top Gun: Maverick", "Minions 2: A Origem de Gru", "Homem-Aranha: Sem Volta para Casa"};
        String opcoesMeia[] = {"Estudante", "Professor", "Idoso (60+)", "Especial", "Ingresso inteiro"};
        double diasemana = 12.00;
        double finalsemana = 15.00;

        System.out.printf("\n-----------------------SEJA BEM VINDO-----------------------");
        System.out.printf("\n Ingresso em dias da semana: R$ %.2f", diasemana);
        System.out.printf("\n Ingresso em finais de semana: R$ %.2f \n", finalsemana);
        System.out.printf("------------------------------------------------------------");

        System.out.println("\n \nDigite (1) para final de semana ou (2) para dia útil: ");
        int data = Integer.parseInt(sc.nextLine()); // use nextLine e converta para número
        if (data != 1 && data != 2) {
            System.out.println("As opções válidas para data são (1) para final de semana ou (2) para dia útil. Reinicie o programa");
        } else {
            System.out.println("\nDigite o nome: ");
            String nome = sc.nextLine();

            System.out.println("\nDigite o número da poltrona: ");
            int poltrona = Integer.parseInt(sc.nextLine());
            if (poltrona > 150) {
                System.out.println("\nNúmero inválido! Reinicie o programa.");
            } else {
                System.out.println("\n--------------------------------------");
                System.out.println("Filmes: ");
                for (int i = 0; i < 4; i++) {
                    System.out.printf("\n %s - (%d)", filmes[i], i + 1);
                }
                System.out.println("\n--------------------------------------");

                String filmeEscolhido = filmes[escolheOpcao(filmes, "Filmes", "Escolha o filme (Digite o número): ", sc) - 1];

                System.out.println("\nDigite o horário: ");
                float horario = Float.parseFloat(sc.nextLine());

                int meiaentrada = escolheOpcao(opcoesMeia, "Meia-entrada", "Digite uma das opções para meia-entrada: ", sc);
                double preco = 0;
                if (data == 1) {
                    preco = finalsemana;
                } else if (data == 2) {
                    preco = diasemana;
                }
                String entrada = "ENTRADA INTEIRA";
                if (meiaentrada != 5) {
                    preco /= 2;
                    entrada = "MEIA ENTRADA";
                }
                System.out.println("\n-----------------" + entrada + "---------------------");
                System.out.printf("\nNome: %s", nome);
                System.out.printf("\nPoltrona: %d", poltrona);
                System.out.printf("\nHorário: %.2f", horario);
                System.out.printf("\nFilme: %s", filmeEscolhido);
                System.out.printf("\n\nPreço: R$ %.2f", preco);
                System.out.println("\n------------------------------------------------------");
            }
        }
    }
}

Ainda dá para melhorar outras coisas - por exemplo, por que o horário é um float? Faz sentido ter um horário como 1,93064? Aliás, nem faz sentido o usuário digitar qualquer horário. Faz muito mais sentido ter uma lista de horários disponíveis, e o usuário escolhe uma das opções (assim como escolheu o filme). Na verdade seria mais complexo ainda, pois um filme pode estar passando em mais de uma sala, e cada sala tem uma lista de horários diferentes e quantidade diferente de poltronas, etc.