Galera! Me ajudem! Erro maldito!

Olha só turma. Eu fiz essa questao a seguir mas nao entendo que cargas dágua tá dando esse erro.

Eis a questao:


Reescreva a Classe RoboSimples de forma que instancias da Classe Ponto2D sejam usadas para representar as coordenadas dos Robos.

Essa é a classe Ponto2D.

public class Ponto2D{
private double x,y;
   
   public void inicializaPonto2D(double _x, double _y){
       x=_x;
       y=_y;
   }
   public boolean eIgual(Ponto2D outroPonto2D){
       if((x==outroPonto2D.x)&&(y==outroPonto2D.y))
       return true;
       else
       return false;
   }
   
    public Ponto2D origem(){
           Ponto2D temporario=new Ponto2D();
           temporario.inicializaPonto2D(0,0);
           return temporario;
       }
    public Ponto2D clona(){
           Ponto2D temporario=new Ponto2D();
           temporario.inicializaPonto2D(x,y);
           return temporario;
       }  
    public String toString(){
           String resultado= "("+x+","+y+")";
           return resultado;
       }
    //Inicio da 6 questao do exercicio
    public void setX(double a){
        x=a;
    }
    public void setY(double a){
        y=a;
    }
    public double getX(){
        return x;
    }
    public double getY(){
        return y;
    }
    //Fim da 6 questao do exercicio
    
}//Fim da Classe Ponto2D

Essa é classe RoboSimples que tive que reescrever como RoboSimples2.

//Continuaçao da 6 Questao do Exercicio
class RoboSimples2{
        private String nomeDoRobo;
        private Ponto2D ponto=new Ponto2D;
        private char direcaoAtual;
        
        RoboSimples2 (String n, int px, int py, char d){
            nomeDoRobo=n;
            direcaoAtual=d;
            ponto.inicializaPonto2D(px,py);
                     }
        RoboSimples2 (String n){
            this (n,0,0,'N');
        }
        RoboSimples2(){
            this ("",0,0,'N');
        }
        public void move(){
            move(1);
        }
        public void move(int passos){
            if (direcaoAtual=='N')
                ponto.setY(ponto.getY()+passos);
            if (direcaoAtual=='S')
                ponto.setY(ponto.getY()-passos);
            if (direcaoAtual=='E')
                ponto.setX(ponto.getX()+passos);
            if (direcaoAtual=='O')
                ponto.setX(ponto.getX()-passos);
                
            }
         public void mudaDirecao(char novaDirecao){
             direcaoAtual=novaDirecao;
         }
         
         public void moveParaTras(){
             move(-1);
         }
         public void moveParaTras(int passo){
             move(-passo);
         }
         public String toString(){
             String posicao= "Nonme do Robo:" + nomeDoRobo + "\n";
             posicao= posicao + "Direcao do Robo:" + direcaoAtual + "\n";
             posicao=posicao + "Posicao do Robo:(" + ponto toString() + ")\n";
             return posicao;
        }
        
}// fim Continuaçao da 6 Questao do Exercicio

Esse é a linha do erro:

  private Ponto2D ponto=new Ponto2D;

E esse é o erro:

'(' or '[' expected.

Alguem se habilita a me ajudar?

MigMax.

Diferente de Delphi que aceita chamadas de método do tipo:

método;
método();

Java só aceita que vc use a segunda opção. O erro é pq vc não está colocando o “()” na chamada do construtor.

private Ponto2D ponto=new Ponto2D; // errado private Ponto2D ponto=new Ponto2D(); // correto

Pessoal, me desculpes… nossa senhora. um erro tao bobo e só vim ver agora… :roll:

eu ja coloquei o ()!

so que tem uma coisa… tá dando um erro na linha final.

             posicao=posicao + "Posicao do Robo:" + ponto toString() + "\n";

Erro:

';' expected

Onde é q ta faltando esse virgula entao?

migmax

posicao=posicao + "Posicao do Robo:" + ponto.toString() + "\n";
// vc tb pode usar pois quando vc concatena um objeto ele chama automaticamente o método toString()
posicao=posicao + "Posicao do Robo:" + ponto + "\n";

show de bola…

valeu irmaos.

MigMax

Okay… ja está rodando

Ae MigMax,

private QualquerClasse nome = new QualquerClasseb[/b];

Dê uma olhada nas linhas de cima e de baixo a essa, e veja se não está falando um ;