Java - porque solo funciona si pongo else if si no me da error?

 
Vista:

porque solo funciona si pongo else if si no me da error?

Publicado por carlos (25 intervenciones) el 31/10/2018 11:51:53
LA idea es meter numeros y cuando meta 0 ya no puedo meter mas.
ademas de todos esos numero quiero que me de el mayor el menor y si hay alguno negativo que lo cuente
(el codigo no esta completo porque lo estoy haciedno pero mi duda es en el ultimo else)
si solo pongo else me da error tengo qeu poner else if y no entiendo porque

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
double mayor = 0, menor = 0, numero;
int  negativo = 0, contador=0;
Scanner entrada = new Scanner(System.in);
numero = entrada.nextDouble();
do
{ System.out.print("introduce un numero: ");
    if(menor > numero){
    menor = numero;
    }
    if (mayor < numero) {
        mayor = numero;
    }
    if(numero>0){
    System.out.print("introduce un numero: ");
    }
    else if(numero<0);{
    System.out.print("introduce un numero: ");
    negativo++;
    }
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Kabuto
Val: 3.428
Oro
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

porque solo funciona si pongo else if si no me da error?

Publicado por Kabuto (1382 intervenciones) el 31/10/2018 13:18:48
Se te ha colado un ;

Te lo destaco con dos flechitas.

1
2
3
4
else if(numero<0) --> ; <-- {
System.out.print("introduce un numero: ");
negativo++;
}

Ese ; da por cerrado el else if, así que en realidad no hace nada si metes un negativo.
Basta con quitarlo.


Por cierto, no hace falta poner tantos
1
System.out.print("introduce un numero: ");

Con poner solo uno al principio del bucle del do{} while() debería ser suficiente
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar

porque solo funciona si pongo else if si no me da error?

Publicado por carlos (25 intervenciones) el 31/10/2018 20:35:41
pero mi pregunta no es esa es xq tengo que poner else if al final y no else solo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 755
Bronce
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

porque solo funciona si pongo else if si no me da error?

Publicado por Yamil Bracho (2315 intervenciones) el 31/10/2018 21:02:41
Bueno la condicion que tienes es if(numero>0)..
El else de esta condicion es numero <= 0, asi que si solo quieres chequea los que son diefrentes de cero debes preguntar en el else if...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

porque solo funciona si pongo else if si no me da error?

Publicado por carlos (25 intervenciones) el 31/10/2018 21:48:11
no me entero lo que quieres decir a ver, si (if) es mayor que 0 me sigue pidiendo numeros, (else) si no es mayor que 0 entonces me pides otro numero y ademas apuntas 1 al contador.
entonces xq nop es de esta forma
1
2
3
4
5
6
if(numero>0){
    System.out.print("introduce un numero: ");
}
else (numero<0);{
System.out.print("introduce un numero: ");
negativo++;
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 22
Ha aumentado 1 puesto en Java (en relación al último mes)
Gráfica de Java

porque solo funciona si pongo else if si no me da error?

Publicado por xuxin93 (6 intervenciones) el 31/10/2018 21:57:27
El else no lleva condición entre paréntesis.

La estructura es:

1
2
3
4
5
6
if(numero>0){
    System.out.print("introduce un numero: ");
}else{
   System.out.print("introduce un numero: ");
   negativo++;
}

Solamente llevan condición en paréntis el if y el else if, por eso con este último te funciona y cuando poner else no.

Un saludo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar