Exception in thread "main" java.util.NoSuchElementException: No line found

Boa Noite, meu nome é Marcio e gostaria de tirar uma dúvida por favor aos companheiros mais experientes:

Ao compilar meu projeto que possui 4 classes

1ª Classe Conta

import static java.lang.System.out;

public class Conta {
	
	String nome;
	String endereco;
	double saldo;
	
	public void display(){
		out.print(nome);
		out.print("(");
		out.print(endereco);
		out.print(") tem R$ ");
		out.print(saldo);
	}
	
	public double getJuros(double taxaPercentual) {
		return saldo * taxaPercentual / 100.00;
	}

}

2ª Classe UsoDeConta

import static java.lang.System.out;

public class UsoDeConta {

	public static void main(String[] args) {
			
		
		Conta minhaConta = new Conta();
		Conta suaConta = new Conta();
		
		
		minhaConta.nome = "Barry Burd";
		minhaConta.endereco = "Rua Ciberespaço 222";
		minhaConta.saldo = 24.02;
		
		suaConta.nome = "João Q. Público";
		suaConta.endereco = "Rua do Consumidor 111";
		suaConta.saldo = 55.63;
		
		double meusJuros = minhaConta.getJuros(5.00);
		double seusJuros = suaConta.getJuros(7.00);
		
		out.printf("$%4.2f\n", meusJuros);
		out.printf("$%5.2f\n", meusJuros);
		out.printf("$%.2f\n", meusJuros);
		out.printf("$%3.2f\n", meusJuros);
		out.printf("$%.2f $%.2f", meusJuros, seusJuros);
		out.println();
		out.println();
		
		minhaConta.display();
		out.print(" mais R$ ");
		out.print(minhaConta.getJuros(5.00));
		out.print(" juros ");
		out.println();
		out.println("¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨");
				
		suaConta.display();
		double suaTaxaJuros = 7.00;
		out.print(" mais R$ ");
		double seuValorJuros = suaConta.getJuros(suaTaxaJuros);
		out.print(seuValorJuros);
		out.print(" juros ");
		out.println();
		out.println("¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨");
		
		
		out.print(minhaConta.nome);
		out.print(" (");
		out.print(minhaConta.endereco);
		out.print(") tem R$ ");
		out.print(minhaConta.saldo);
		out.println();
		out.println("¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨");
		
		out.print(suaConta.nome);
		out.print(" (");
		out.print(suaConta.endereco);
		out.print(") tem R$ ");
		out.print(suaConta.saldo);
		out.println();
		out.println("¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨");
	}

}

3° Classe Empregados:

import static java.lang.System.out;

public class Empregados {
	
	private String nome;
	private String cargo;
	
	public void setNome(String nomeIn) {
		nome = nomeIn;
	}
	
	public String getNome() {
		return nome;
	}
	
	public void setCargo (String cargoIn){
		cargo = cargoIn;
	}
	
	public String getCargo(){
		return cargo;
	}
	
	public void preencherCheque(double valorPago) {
		out.printf("Pague em nome de %s ", nome);
		out.printf("(%s) ***$", cargo);
		out.printf("%,.2f\n", valorPago);
	}

}

A 4ª Classe : FazerFolha

import java.util.Scanner;
import java.io.File;
import java.io.IOException;

public class FazerFolha {

	public static void main(String args[])throws IOException {
			
			Scanner diskScanner = new Scanner(new File("EmpregadosInfo.txt"));
			
			for (int empNum = 1; empNum <=3; empNum++){
				pagarUmEmpregado(diskScanner);
			}
		}
		
		static void pagarUmEmpregado(Scanner aScanner){
			Empregado umEmpregado = new Empregado();
			
			umEmpregado.setNome(aScanner.nextLine());
			umEmpregado.setCargo(aScanner.nextLine());
			umEmpregado.preencherCheque(aScanner.nextDouble());
			aScanner.nextLine();

		} 
		
	}

Há um erro que não estou sabendo tratar quando rodo a classe FazerFolha :

Exception in thread “main” java.util.NoSuchElementException: No line found
at java.util.Scanner.nextLine(Unknown Source)
at FazerFolha.pagarUmEmpregado(FazerFolha.java:19)
at FazerFolha.main(FazerFolha.java:12)

O arquivo está na pasta do projeto no formato .txt

A saída seria o seguinte:

Pago para Barry Burd (CEO) *** $5,000.00 por exemplo.

Será que eu tenho que colocar o caminho todo do arquivo por exemplo: C:\\....\EmpregadosInfo.txt

Se puderem me orientar fico agradecido.

Abs

NoSuchElementException acontece quando, por exemplo, você faz scanner.nextLine() e não existe uma nova linha para ser lida. Isso acontece se o arquivo estiver vazio ou no final. Exemplo:

public static void main(String[] args) {
    Scanner scanner = new Scanner("Linha 1\nLinha 2");
    System.out.println(scanner.nextLine()); // funciona
    System.out.println(scanner.nextLine()); // funciona
    System.out.println(scanner.nextLine()); // não funciona: NoSuchElementException
}

Verifique se tua lógica não tá tentando ler uma linha nova mesmo depois que o arquivo acabou ou algo assim.

Muito obrigado pelo feedBack Ivbarbosa,

Eu populei o arquivo txt com 3 linhas de registro.

Compilei novamente a Classe FazerFolha e me retornou as seguintes linhas de erro.

Exception in thread “main” java.util.InputMismatchException
at java.util.Scanner.throwFor(Unknown Source)
at java.util.Scanner.next(Unknown Source)
at java.util.Scanner.nextDouble(Unknown Source)
at FazerFolha.pagarUmEmpregado(FazerFolha.java:22)
at FazerFolha.main(FazerFolha.java:12)

InputMismatchException acontece quando você pede para o Scanner ler algo e o próximo token não é do tipo esperado. Por exemplo:

Scanner scanner = new Scanner("abc123");
int num = scanner.nextInt(); // InputMismatchException, não dá pra converter "a" em int

Pelo stack trace, você tá fazendo um nextDouble e o scanner não está encontrando um double na stream.

Muito obrigado vou verificar