Invalid method declaration;return type required

4 respostas
I

fala grande galera...como iniciante, estou fazendo alguns exercícios de Java...e me deparei com um errinho aqui e n sei como sai dele

import java.io.*;
class Aluno
{
 int numero;
 String nome , curso;
 double nota1 , nota2;

  [b]RegistroAluno (int n, String nome, String curso, double n1, double n2) throws IOException[/b]    {
 	 numero = n;
 	 nome = nome;
 	 nurso = curso;
 	 nota1 = n1;
 	 nota2 = n2;
    }
    class Exer01
    {
    	public static void main (String args []);
    	RegistroAluno Membro = new RegistroAluno (" " , 0000, " " , 0.0 , 0.0);
    	FileReader ArqAluno;
    	ArqAluno = new FileReader ("RegistroAluno.txt");
    	BufferedReader BArqAluno = new BufferedReader (ArqAluno);
    	Membro.nome = BArqAluno.realine();
    }
 }

na linha em negrito na compilação  dando a mensagem: invalid method declaration;return type required.

e nas linhas ArqAluno e Membro.nome está com a mensagem <identifier> expected.

alguma ajuda ?
valeu
Rafael

4 Respostas

BrunoBastosPJ

Na sua classe RegistroAluno é um método… ele tem que ter um tipo de returno pode ser void por exemplo.

Agora Se RegistroAluno for o que eu estou pensando UM CONSTRUTOR! então ele tem que ter o mesmo nome que a classe, os construtores tem o mesmo nome do que a classe, e o mesmo, ou mais restrito, modificador de acesso. Modifique RegistroAluno para Aluno que vai funcionar!

I

é isso mesmo, um construtor, alterei e deu certo.

só os erros de <identifier expected> permanecem ainda…

mas valeu, aprendi mais uma coisa em Java

abs
Rafael

BrunoBastosPJ

talvez porque você chamou a variável de “nurso” e não “curso” :wink:

Não se esqueça, se você quiser referer uma variável da classe, e este nome esteja sobreescrito no método use o this

exemplo

public class A {
  String nome;
   
  A(String nome) {
     nome = nome; 
  }
  
  A(String n) {
     n = n;
  }

  A(String nome) {
       this.nome = nome;
  }

   public static void main(String[] args) {
      A a = new A("nome");
      System.out.println("Nome: "+a.nome);
   }
}

Você tem que comentar 2 construtores, roda o programa cada hora com um construtor diferente e você vai ver o que está acontecendo

I

ah, a variável eu já tinha visto…valeu.

agora esse lance do this não entendi nada.
vou ler mais um pouco sobre isso e verei o que consigo, valeu.

abs
Rafael

Criado 15 de março de 2007
Ultima resposta 15 de mar. de 2007
Respostas 4
Participantes 2