void numeroMaior()
{
int maior;
if (numero1 > numero2)
{
maior = numero1;
}
if (numero1 > numero3)
{
maior = numero2;
}
if (numero2 < numero3)
{
maior = numero3;
}
}
System.out.println("*********************");
System.out.println("Numero Maior");
Ordem m1= new Ordem();
m1.numero1 = 13;
m1.numero2 =15;
m1.numero3 = 6;
c1.numeroMaior();
System.out.println("Numero maior e: %d " +m1.numeroMaior());`Texto pré-formatado`
Quando postar código, seleciona ele e clica no botão de texto pré formatado, identificado pelo botão </>
.
Não dá pra compilar o código que você postou pois ele está incompleto.
De antemão dá pra ver que tem um erro na seguinte linha:
System.out.println("Numero maior e: %d " + m1.numeroMaior());
O método numeroMaior()
tem retorno do tipo void
, ou seja, ele não retorna nada.
Se ele não retorna nada, não tem como concatenar o retorno com a String
que você passa pro println
.
Eu consegui resolver aqui, era printf com erros, só não entendi por que eu tive que inicializar a variável maior com 0
Não precisa inicializar com 0
, mas precisa inicializar com algum valor.
A variável maior
foi declarada dentro de um método, ou seja, é uma variável local.
Variáveis locais não possuem um valor padrão, elas precisam ser inicializadas explicitamente.
Ao invés de inicializar com 0
, você poderia ter inicializado ela com o primeiro número e depois só comparar com os outros dois, assim:
int maior = numero1;
if (numero2 > maior) {
maior = numero2;
}
if (numero3 > maior) {
maior = numero3;
}
Entendi , obrigado ai .