Dúvida Java

Podem me ajudar, o programa funciona normalmente até o momento em que chega no segundo looping. Ele está printando direto: “Insira um nome para o professor” (pula de linha) “Insira um código para o professor”

class Main {

static Scanner scan = new Scanner(System.in);
Scanner scan = new Scanner(System.in);

static String lerNome() {
System.out.println("Insira um nome para o professor: ");
String nome = scan.nextLine();
return nome;
}

static int lerCodigo() {
System.out.println("Insira um nome para o professor: ");
int codigo = scan.nextLine();
return codigo;
}

static double lerAulas() {
System.out.println("Insira um nome para o professor: ");
double codigo = scan.nextDouble();
return codigo;
}

static double lerHoras() {
System.out.println("Insira a quantidade de horas ministradas por aula: ");
double horas = scan.nextDouble();
return horas;
}

static int exibirMenu() {
System.out.println("Bem vindo ao menu, insira: ");
System.out.println("1. Exibir dados cadastrados. ");
System.out.println("2. Exibir c�digo, quantidade de horas/aula trabalhadas , sal�rio bruto , sal�rio l�quido. ");
System.out.println(“3. Procurar professor por c�digo.”);
System.out.println(“0. SAIR”);
int escolha = scan.nextInt();
return escolha;
}

static void exibirA(String nome , int codigo , double horas, double aula) {
System.out.println("Nome: "+nome);
System.out.println("Codigo: "+codigo);
System.out.println("Quantidade horas ministradas por aula: "+horas);
System.out.println("Quantidade de aulas ministradas: "+aula);
}

statitc void exibirB(int codigo , double horas, double aulas) {
System.out.println("C�digo: "+codigo);
System.out.println("Quantidade de horas/aula: "+(horas/aulas));
System.out.println("Sal�rio Bruto: "((horas * aulas)*15);
System.out.println("Sal�rio L�quido: "((horas * aulas)150.9);
}

public static void main(String[] args) {

 String[] nome = new String[10];
 int[] codigo = new int[nome.length];
 double[] horas = new double[nome.length];
 double[] aulas = new double[nome.lenth]; 
 int escolha  = -1;

  for(int i = 0 ; i < nome.lenth ; i++) {
    nome[i] = lerNome();
    codigo[i] = lerCodigo();
    aulas[i] = lerAulas();
    horas[i] = lerHoras();
  }


do{ 
    escolha  = exibirMenu();

  switch(escolha) {
    case 1:         
     for(int i = 0 ; i < nome.lenth ; i++) {
        exibirA(nome[i] , codigo[i] , horas[i] , aulas[i]);
     } ;break;

    case 2:
    for(int i = 0 ; i < nome.lenth ; i++) {
    exibirB(codigo[i] , horas[i], aulas[i]); 
    }  ;break;


    case 3;
    System.out.println("Insira um c�digo para pesquisa: ");
    int codiPesq = scan.nextInt();

       for (int i = 0 ; i < nome.length ; i++) {
         if (codiPesq = codigos[i]) {
           exibirA(nome[i] , codigo[i] , horas[i] , aulas[i]) ;
         }else if(i < (nome.length -1) && codiPesq != codigos[i]){
           System.out.println("N�mero n�o encontrado!"); break;
         }
       }  break;
 }
      }while(escolha !=0 );

System.out.println(“Fim do Programa!”);
}
}

Tem certeza que o código está rodando?
Está com vários erros.
Falta import do Scanner e linha duplicada.

Falta sinal de + e * nos prints abaixo.

Esta linha está repetida várias vezes no seu código.
Corrige o código e a apresentação do código utilizando o </> no editor do blog para que fique mais fácil de ler.

Perdão, Trapezus. Eu já corrigi isso, na verdade subi o arquivo errado.

Programa certo:

import java.util.Scanner;

public class ProvaRober {

static Scanner scan = new Scanner(System.in);

static String lerNome() {
	System.out.println("Insira um nome para o professor: ");
	String nome = scan.nextLine();
	return nome;
}

static int lerCodigo() {
	System.out.println("Insira um c�digo para o professor: ");
	int codigo = scan.nextInt();
	return codigo;
}

static double lerAulas() {
	System.out.println("Insira a quantidade de aulas ministradas pelo professor: ");
	double qtdAulasMinistradas = scan.nextDouble();
	return qtdAulasMinistradas;
}

static double lerHoras() {
	System.out.println("Insira a quantidade de horas ministradas por aula: ");
	double horas = scan.nextDouble();
	return horas;
}

static void exibirMenu() {
	System.out.println("Bem vindo ao menu, insira: ");
	System.out.println("1. Exibir dados cadastrados. ");
	System.out.println("2. Exibir codigo, quantidade de horas/aula trabalhadas , salario bruto , salario liquido. ");
	System.out.println("3. Procurar professor por c�digo.");
	System.out.println("0. SAIR");
	
}

static void exibirA(String nome , int codigo , double horas, double aula) {
	System.out.println("Nome: "+nome);
	System.out.println("Codigo: "+codigo);
	System.out.println("Quantidade horas ministradas por aula: "+horas);
	System.out.println("Quantidade de aulas ministradas: "+aula);
}


static void exibirB(int codigo , double horas, double aulas) {
	System.out.println("Codigo: "+codigo);
	System.out.println("Quantidade de horas/aula: "+(horas/aulas));
	System.out.println("Salario Bruto: " +((horas * aulas)*15));
	System.out.println("Salario L�quido: " +((horas * aulas)*15*0.9));
}

public static void main(String[] args) {

	String[] nome = new String[10];
	int[] codigo = new int[nome.length];
	double[] horas = new double[nome.length];
	double[] aulas = new double[nome.length]; 
	int escolha  = -1;

	for(int i = 0 ; i < nome.length ; i++) {
		nome[i] = lerNome();
		codigo[i] = lerCodigo();
		aulas[i] = lerAulas();
		horas[i] = lerHoras();
	}


	do{ 
		exibirMenu();
		escolha  = scan.nextInt();			

		switch(escolha) {
		case 1:         
			for(int i = 0 ; i < nome.length ; i++) {
				exibirA(nome[i] , codigo[i] , horas[i] , aulas[i]);
			} ;break;

		case 2:
			for(int i = 0 ; i < nome.length ; i++) {
				exibirB(codigo[i] , horas[i], aulas[i]); 
			}  ;break;


		case 3:
			System.out.println("Insira um codigo para pesquisa: ");
			int codiPesq = scan.nextInt();

			for (int i = 0 ; i < nome.length ; i++) {
				if (codiPesq == codigo[i]) {
					exibirA(nome[i] , codigo[i] , horas[i] , aulas[i]) ;
				}else if(i < (nome.length -1) && codiPesq != codigo[i]){
					System.out.println("Numero nao encontrado!"); break;
				}
			}  break;
		}
	}while(escolha !=0 );

	System.out.println("Fim do Programa!");
}

}

Trapezus, se tratava de uma questão de prova em que me foi dado o valor das horas trabalhadas (15 reais). e salário líquido (- 10%).

Assim:
No seu método lerNome utilize:
String nome = scan.next();

Muitíssimo obrigado, Trapezus. Resolveu aqui! Poderia mandar um contato como FB ou whatsapp? Realmente quero aprender a programar e vivo precisando de ajuda

O fórum é o melhor caminho.
Fique à vontade para trazer as dúvidas ao fórum, pois, sempre tem alguém para ajudar.

Tranquilo. Eu até resolvi o problema com seu comentário, mas qual a explicação lógica para ter “pulado” uma linha ?

Depende da forma que vai utilizar o Scanner.
O next() vai ler a String até o primeiro espaço e o nextLine() vai ler até encontrar uma quebra de linha.
Se você roda o seu código novamente e digitar para o nome do professor um nome composto, gerará um erro.
Se você utilizar o nextLine() com o nome composto vai pular a linha novamente.
Dá uma lida neste tópico: