Métodos estáticos

Galera não to conseguindo fazer esse código funcionar
Através do menu fazer o cadastro, a densidade e a tabela final.

public class Estatisticas_cursos{
public static void main (String args[]){
int opcao;
int curso1 [][]= new int [3][3];
int curso2 [][] = new int [3][3];
String cursos = new int[2];
String colunas ={“Ano”, “Vagas oferecidas”, “Candidatos inscritos”, “Ingressos”};
int linhas = {2017, 2016, 2015};
double percInscritosIngressantes;
double relCandidatosVagas;

menu ();
opcao=Entrada.leiaInt(“Qual opção deseja acessar?”);
if (opcao == 1){
cadastro (curso1, curso2, cursos, colunas, linhas);
}else if (opcao == 2){
percInscritosIngressantes = inscritosIngressantes (curso1, curso2, cursos, colunas, linhas);
System.out.println(percInscritosIngressantes);
}else if (opcao == 3) {
relCandidatosVagas = candidatosVagas (curso1, curso2, cursos, colunas, linhas);
System.out.println(relCandidatosVagas);
}else if (opcao == 4){
tabelaConsolidada (curso1, curso2, cursos, colunas, linhas);
}else if (opcao == 5){
Syste.out.println(“Saindo…”);
} else {
System.out.println(“Opção inválida!”);
}
}

public static void menu () {

System.out.println("=======CONTROLE DE ARMAZENAMENTO DE PRODUTOS======="); 
System.out.println("1 - Cadastro das informações do curso");
System.out.println("2 - Percentual de ingressantes em relação a candidatos inscritos, de um curso e ano específico");
System.out.println("3 - Relação de candidatos por vaga, de um curso e ano específico"); 
System.out.println("4 - Tabela consolidada com a soma das informações dos dois cursos"); 
System.out.println("5 - Sair"); 
System.out.println("===================================================");

}

public static void cadastro (int c1[][], int c2[][], String c[] , String cl[] , int ln[] ) {
int curso;
curso=Entrada.leiaInt("Digite o nome do curso: ");
}

public static inscritosIngressantes (int c1[][], int c2[][], String c[] , String cl[], int ln[] ) {
double percent;
int ind;
percent = 0;
for (ind = 0; ind < n.length; ind++) {
percent += ln[ind];
}
percent = percent / ind;
System.out.println("A porcentagem é: "+percent);
return percent;
}

public static candidatosVagas (int c1[][], int c2[][], String c[] , String cl[] , int ln[] ) {
double med;
int ind;
med = 0.0;
for (ind = 0; ind < i.length; ind++) {
med += i[ind];
}
med = med / ind;

System.out.println("A quantidade de alunos por vaga é: ");
return med;

}

public static void tabelaConsolidada (int c1[][], int c2[][], String c[] , String cl[] , int ln[] ) {
}
}

Mas e pq não está conseguindo, qual é o problema?

Desculpa, não mencionei direito, o opção 2 e 3 do menu, nos return, está dizendo que o método é inválido

Cara, o código todo ta zoado.
Dica séria: apaga tudo, reveja os conceitos e começa de novo.
Só pelas seguintes linhas no início, qual o sentido disso?

String cursos = new int[2];
String colunas ={"Ano", "Vagas oferecidas", "Candidatos inscritos", "Ingressos"};
int linhas = {2017, 2016, 2015};

No método candidatosVagas vc nem disse qual é o tipo do retorno.

Seu código inteiro deve estar marcado como erro.

Pode ser, que esteja mesmo, mas o compilador só aponta nos return´s, o do candidatoVagas, o return coloquei med, mas não deu certo tbm hehehe.

Bom a questão era essa, por isso o motivo de alguns prepostos.

Criar um programa e os respectivos métodos para automatizar o controle de estatísticas de cursos superiores. O sistema deve oferecer ao usuário a possibilidade de cadastrar os dados, chamando um procedimento; Obter dados sobre percentuais de ingressantes, retornados a partir de uma função; Obter a relação de candidatos por vaga, retornada a partir de uma função ou; Visualizar uma tabela consolidada, chamando um procedimento.

Pergunta: Por que está tudo declarado como static?

Está tentando atribuir um int[] para uma variável to tipo String

Está tentando atribuir um String[] para uma variável to tipo String

Está tentando atribuir um int[] para uma variável to tipo int

Faltou informar o tipo de dado retornado por este método.

Faltou informar o tipo de dado retornado por este método.

Os dois retornos é que não estou sabendo lidar, o compilador dá erro

Não, em java uma função é qualquer método cujo retorno é diferente de void.
Você só deveria usar static quando o membro for pertinente à classe e não ao objeto.

Na assinatura do método você deve especificar o tipo de dado que o método retorna.
Se o método não retorna nada, então o retorno deve ser void, se retorna alguma coisa, o retorno deve ser o tipo de dado da coisa retornada.