[Resolvido]Erro no Eclipse ao declarar Atributo

4 respostas
G

Pessoal,

Meu Eclipse tah dando erro sempre apos declarar meu ultimo atributo!

import java.text.DecimalFormat;

public class CalculoRaio {

	private double raio;
	private double pi;
	private String diametro;
	private String circunferencia;
	private String area;
	
	pi = Math.PI;
	
	CalculoRaio (){
		raio = 0;
	}
	
	DecimalFormat formato = new DecimalFormat("0.00");
	
	String diametro (double r){
		diametro = formato.format(2 * raio);	
		return diametro;
	}
	
	String circunferencia (double r){
		circunferencia = formato.format(2 * pi * raio);	
		return circunferencia;
	}
	
	String area (double r){
		area = formato.format(pi * Math.pow(raio, 2));	
		return area;
	}
	
}

ERRO

Exception in thread "main" java.lang.Error: Unresolved compilation problem:
Syntax error on token ";", , expected

at CalculoRaio.(CalculoRaio.java:9)
at TestaCalculoRaio.main(TestaCalculoRaio.java:11)

----------
a linha 9 é o atributo area;
a linha 11 é o meu 'new' na classe main;

Se eu apago o atributo area, ele acusa erro no de cima!

4 Respostas

Preco

Na linha 11, tu tá atribuindo o valor de pi fora de qualquer função ou construtor…

O ideal seria tu definir pi como constante, e atribuir o valor na inicialização da variável:

private static final double pi = Math.PI

Mas se tu não quiser, coloca a atribuição da variável pi dentro do construtor…

Abraços o/

P

vc tem 2 opções:
1- no momento da declaração do atributo pi já inicie com o valor Math.PI; e retire a declaração “pi = Math.PI;” da linha 9.
2- tire a declaração “pi = Math.PI;” e coloque dentro do construtor; um atributo só pode ser iniciado dentro do construtor ou de métodos;

fazendo uma dessas 2 coisas ira funcionar…

G

Blz, funcionou.

Então eu estava erro no

pi = Math.PI;

onde,

“um atributo só pode ser iniciado dentro do construtor ou de métodosum atributo só pode ser iniciado dentro do construtor ou de métodos”

é isto então???

H


ERRO

Exception in thread “main” java.lang.Error: Unresolved compilation problem:
Syntax error on token “;”, , expected

at CalculoRaio.<init>(CalculoRaio.java:9)
at TestaCalculoRaio.main(TestaCalculoRaio.java:11)

a linha 9 é o atributo area;
a linha 11 é o meu ‘new’ na classe main;

Se eu apago o atributo area, ele acusa erro no de cima!

Tenta isso:

import java.text.DecimalFormat;

public class CalculoRaio {   
  
    private double raio;   
    private double pi = Math.PI;
    private String diametro;   
    private String circunferencia;   
    private String area;
       
}
Criado 2 de janeiro de 2008
Ultima resposta 2 de jan. de 2008
Respostas 4
Participantes 4