O que tem de errado nesse código?

8 respostas
error
Victor_Calebe
package Meuscodigos; 
import java.io.*;
class PainelDeControle { 
float temperaturaCorrente; 
private float temperaturaDesejada;
public void private ligaForno (){

System.out.println("ligado");
}
public void desligaForno (){

System.out.println("desligado");
}
public void defineTemperatura( float temp ){ 
temperaturaCorrente = temp; 
}
public static void main (String[] args) {
PainelDeControle painel1, painel2; 
painel1=new PainelDeControle(); 
painel2=new PainelDeControle();

painel1.ligaForno(); 
painel1.desligaForno(); 
painel2.ligaForno(); 
painel1.defineTemperatura(180.5);
}
}

8 Respostas

LeandroCGMS

Eu estou com um problema no Netbeans e falta de tempo pra instalar outra IDE, mas acho que isso criaria um loop infinito, visto que está instanciando a própria classe que tem o método main.

staroski

Indenta esse código, muito ruim ler assim.

Você está chamando o método defineTemperatura do objeto painel1 passando um parâmetro do tipo double mas ele espera receber um float.

S

@LeandroCGMS, boa noite, não cria não por que a instância só é criada apenas uma vez. Ela simplesmente vai criar e chamar os métodos apenas uma vez. @staroski está certo! Você está pedindo um parâmetro do tipo float no método defineTemperatura e está passando um valor do tipo double.

V

Você está passando um valor do tipo Double em um parâmetro no qual ele pede um Float.
Uma das formas de correção, seria esta:

package Meuscodigos;

import <a href="http://java.io">java.io</a>.*;

class PainelDeControle {
double temperaturaCorrente; 
private double temperaturaDesejada;

public static void main (String[] args) {
	PainelDeControle painel1, painel2; 
	painel1 = new PainelDeControle(); 
	painel2 = new PainelDeControle();

	painel1.ligaForno(); 
	painel1.desligaForno(); 
	painel2.ligaForno(); 
	painel1.defineTemperatura(180.5);
}

public void private ligaForno (){
	System.out.println("ligado");
}

public void desligaForno (){
	System.out.println("desligado");
}

public void defineTemperatura(double temp){ 
	temperaturaCorrente = temp; 
}

}

sistemas_robustos

Também daria
painel1.defineTemperatura(180.5f);

Victor_Calebe

Muito obrigado :smiley:

Eu consegui compilar o código, mas na hora de executar deu esse erro:

V

Se não me engano este erro é devido a versão da sua JRE, tente atualiza-la.

staroski

Execute este comando e posta o resultado:

javac -version

Também execute este comando e posta o resultado:

java -version
Criado 6 de março de 2019
Ultima resposta 7 de mar. de 2019
Respostas 8
Participantes 6