O void nao retorna nada?

4 respostas
java
A
Olá boa tarde <img src="//https://cdn.jsdelivr.net/gh/twitter/twemoji@14/assets/72x72/s.pnglight_smile.png?v=5" title=":slight_smile:" class="emoji" alt=":slight_smile:">

O meu professor mandou-nos uns exercícios para resolver. Tenho dúvida num deles.

O exercício apresenta o seguinte código:

class Carro {

void teste() {

int cilindrada = 1100;

String marca = “Fiat”;
if (cilindrada >= 2000) {
		return ("Elevada cilindrada, elevado consumo");
	}
	else {
		return ("Baixa cilindrada, baixo consumo");
	}
}

}

E a pergunta é:

  • O método teste() não dá qualquer erro, indo retornar a mensagem Elevada cilindrada, elevado consumo.
    a. Verdadeiro
    b. Falso

Eu acho que seria falsa, porque causa de o método ter o “void”, isto é, não retornar nada. Mas não tenho a certeza e precisaria de ajuda.

Aguardo resposta,
Obrigada

4 Respostas

J

Não irá retornar!
Dará erro o código, caso seja executado.

Caso estivesse usando um, assim irá funcionar:

String teste()  {
//Codigo Aqui
}
V

Você esta correta, realmente irá dar erro.
Mas se fosse apenas return; não iria dar erro, pois não estaria retornando valor e sim retornando a quem chamou o método.

W

Como os colegas disseram, dá erro.

Fiz um teste e as mensagens que aparecem são:

error: incompatible types: unexpected return value
		return ("Elevada cilindrada, elevado consumo");
		       ^
error: incompatible types: String cannot be converted to void
		return ("Elevada cilindrada, elevado consumo");
		        ^
error: incompatible types: unexpected return value
		return ("Baixa cilindrada, baixo consumo");
		       ^
error: incompatible types: String cannot be converted to void
		return ("Baixa cilindrada, baixo consumo");

Uma dica que dou é o seguinte:

O bom de lidar com linguagens de programação é que não tem essa de “eu acho que…”, pois basta executar o código apresentado e a resposta estará lá.

E mesmo que o professor ou o livro/apostila disser o contrário, vc saberá que estão errados, pois o compilador não mente ^^.

A

Muito obrigada :smiley:

Criado 28 de fevereiro de 2018
Ultima resposta 1 de mar. de 2018
Respostas 4
Participantes 4