Não estou conseguindo solucionar esse erro

Olá pessoal, estou tentando resolver a questão abaixo descrita, mas apresenta um erro no main, alguém pode me ajudar a solucionar esse problema:

/**

  • Crie uma classe para representar uma classe que represente um jogador de futebol. Cada jogador
  • tem como atributos o seu nome, idade e a quantidade de gols quejá marcou na carreira e quantidade de jogos
  • que ele já jogou na vida. Crie um construtor que inicialize todos os atributos, além dos métodos get/set
  • para cada atributo. Crie um método chamado calculaRendimento, que calcula o rendimento de um jogador baseado
  • na divisão do número de gols anotados, pelo número de partidas que ela já disputou.

*/

package Programacao_3;

import javax.swing.JOptionPane;
public class jogadorFutebol {

private String nome;
private int idade;
private int qtdGol;
private int qtdJogo;

public jogadorFutebol(String nome,int idade,int qtdGol,int qteJogo){
	
	setNome(nome);
	setIdade(idade);
	setQtdGol(qtdGol);
	setQtdJogo(qtdJogo);
		
}

public String getNome() {
	return nome;
}

public void setNome(String nome) {
	this.nome = nome;
}

public int getIdade() {
	return idade;
}

public void setIdade(int idade) {
	this.idade = idade;
}

public int getQtdGol() {
	return qtdGol;
}

public void setQtdGol(int qtdGol) {
	this.qtdGol = qtdGol;
}

public int getQtdJogo() {
	return qtdJogo;
}

public void setQtdJogo(int qtdJogo) {
	this.qtdJogo = qtdJogo;
}

public void calculaRendimento()
	{
		float rendimento;
		
		String nome =(JOptionPane.showInputDialog("Informe seu nome:"));
		idade = Integer.parseInt(JOptionPane.showInputDialog("Informe sua idade:"));
		qtdGol = Integer.parseInt(JOptionPane.showInputDialog("Informe a quantidade de gol's marcados na carreira:"));
		qtdJogo = Integer.parseInt(JOptionPane.showInputDialog("Informe a quantidade de partidas disputadas em sua carreira:"));
		
		rendimento = qtdGol / qtdJogo;
		
        JOptionPane.showMessageDialog(null,"NOME = "+nome +
        		                           "\n IDADE = "+idade +" anos"+ 
        		                           "\n RENDIMENTO = R$ "+ rendimento);
}

}
=======================main==============================

package Programacao_3;

public class Rendimento {

public static void main(String[] args) {
	
	jogadorFutebol jogador = new jogadorFutebol();// apresenta um erro nessa linha
	jogador.calculaRendimento();
}

}

Seu construtor deve ser assim:

public jogadorFutebol(String nome,int idade,int qtdGol,int qteJogo){ 
this.nome = nome;
this.idade = idade;
this.qtdGol = qtdGol;
this.qteJogo = qteJogo;
} 

O erro acontece pq vc criou um construtor com parametros: public jogadorFutebol(String nome,int idade,int qtdGol,int qteJogo)

E quando cria a instancia da classe vc está chamando um construtor sem parametros: new jogadorFutebol(); Dai o compilador não encontra o construtor sem parametro e exibe o erro.

Outra coisa, pelo padrão java bean(o padrão de boas práticas java) o nome de classe deve sempre iniciar com letra maiuscula, para diferenciar de métodos. Então sua classe deveria ser JogadorFutebol.

Vc não passou nada quando criou o jogador

Seu construtor tem alguns parâmetros que devem ser passados

JogadorFutebol jf = new jogadorFutebol (String nome, int idade, int qtdGol, int qteJogo );

Esse de cima funciona, pois você não criou um construtor padrão (sem parametros)

Ou, para não mudar seu metodo main, você pode criar um segundo construtor na classe do Jogador mas este sem parametros.

public jogadorFutebol() { }

vc pode retornar os valores dos atributos usando o método toString … que é mais recomendável …assim:


public String toString(){

return "Nome: " + getNome() + "\n Quantida de  gols :" + getQtdGol() .....;

}


e na classe de execução vc da o JOptionPane.showMessageDialog(null,variaveDeInstanciaDaClasse.toStringo());

Muito obrigado a todos, consegui solucionar o problema…!