Java - Java Error

 
Vista:

Java Error

Publicado por Julian (4 intervenciones) el 28/09/2020 22:38:12
Saludos a todos. No tengo el conocimiento de como validar el ingreso de números enteros si es que pueden ser validados. Además soy incapaz solucionar un error de compilación me arroja 'illegal start of expression' en la línea de if (nro%2 !=0) >20 {.
Añado el código y el enunciado. Por favor. Les ruego su ayuda y aportes. GRACIAS.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
/*
Proceso que permita ingresar una serie de números enteros (Enter para terminar).
Imprimir al final del trabajo, la cantidad de valores pares que fueron  ingresados,
la cantidad de valores impares y la suma total de los valores imapres mayores a 20
 */
package parimpar;
import java.util.Scanner;
 
 
public class ParImpar {
 
 
    public static void main(String[] args) {
 
        Scanner sc = new Scanner(System.in);
           int nro, cantpar=0, cantimpar=0, suma=0;
 
            System.out.print("Ingrese serie de números");
            nro = sc.nextInt();
            if (nro%2 ==0){
                cantpar = cantpar + 1;
 
 
            }else {
 
 
 
 
 
               cantimpar = cantimpar + 1;
 
                }
 
         if (nro%2  != 0) > 20 {
 
 
 
 
               }
 
 
    }
 
 
 
}
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 Rodrigo
Val: 1.986
Oro
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Java Error

Publicado por Rodrigo (537 intervenciones) el 28/09/2020 23:07:26
Tienes un if que chequea si un numero es par o impar. Una parte para pares otra para impares.
Dentro de la parte de impares chequea si el numero es tambien > 20.
No lo hagas afuera como lo haces ahora.

Explicacion adicional:

La expresion del if no tiene sentido tal como esta, si quieres hacer 2 chequeos, tienes que hacerlos explicitamente, por ejemplo

if( a > b && a < 5 ) ...

no

if( a > b ) < 5
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

Java Error

Publicado por Julian (4 intervenciones) el 29/09/2020 15:53:14
Muchas gracias por su ayuda. Una consulta ¿para interactuar con el usuario para que ingrese números y se realice un procedimiento debo utilizar JOptionPane? añado mi código y el resultado al ejecutar el mismo. Desde ya muchas gracias. Por favor espero su aporte y respuesta. Éxitos.



public class ParImpar {


public static void main(String[] args) {

Scanner sc = new Scanner(System.in);
int nro, cantpar=0, cantimpar=0, suma=0;

System.out.print("Ingrese serie de números");
nro = sc.nextInt();
if (nro%2 ==0){
cantpar = cantpar + 1;


}else {

if (nro%2 != 0 && nro%2 >20) {
cantimpar = cantimpar + 1;
suma = suma + cantimpar;



}


}







}


}




run:
Ingrese serie de números 2
BUILD SUCCESSFUL (total time: 3 seconds)
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
Imágen de perfil de Rodrigo
Val: 1.986
Oro
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Java Error

Publicado por Rodrigo (537 intervenciones) el 29/09/2020 17:00:52
Desconozco lo de JOptionPane.

El programa que pusiste esta mejor, pero tiene al menos un problema y puedes mejorar algunas cosas.
Probaste que hacia lo que se supone que tiene que hacer?

Tengo una consulta que hacer solo de curiosidad. Por que tantas lineas en blanco? Sugiero eliminarlas. Es mas facil leer el programa sin tanto espacio.
Tambien puedes usar aqui el boton que dice "</> Codigo"

El programa te queda asi:

1
2
3
4
5
int mainI) {
  if( condicion ) {
     instruccion;
  }
}

y no asi

1
2
3
4
5
int mainI) {
  if( condicion ) {
     instruccion;
  }
}

Se puede indicar que "en la linea 3 tienes tal problema" o cosas asi. Es facil ver donde comienzan y terminan los bloques, etc.
Usalo.

Cuando 2 condiciones son excluyentes, o sea no pueden darse simultaneamente, puedes tomar partido de ello y no consultar ambas.
En matematicas, los numeros son pares o impares, nunca son ambos. No se si estas de acuerdo con esto, pero si no estas de acuerdo, aceptalo un rato para poder explicar lo siguiente.

Si tienes un if que pregunta o calcula si un numero es par (o impar, da lo mismo), por ejemplo:

1
2
3
if( es_par ) {
    instrucciones para cuando es par
}

y necesitas incorporar instrucciones cuando es impar, podrias hacerlo asi:

1
2
3
4
5
if( es_par ) {
    instrucciones para cuando es par
} else if( es_impar ) {
    instrucciones para cuando es impar
}

pero podrias completamente eliminar el segundo if, manteniendo el else, puesto que se sabe que si no es par, el numero TIENE QUE SER impar, quedando asi:

1
2
3
4
5
if( es_par ) {
    instrucciones para cuando es par
} else { // no hay if
    instrucciones para cuando es impar
}

Tu codigo dice:

1
2
3
4
5
6
if (nro%2 ==0){
   cantpar = cantpar + 1;
}. else {
   if (nro%2 != 0 && nro%2 >20) {
     cantimpar = cantimpar + 1;
  ...

No estas considerando que el if anterior chequea que el numero es par, por lo que al ingresar al else el numero TIENE QUE SER IMPAR, no necesitas consultar nada.

1
2
3
4
5
6
if (nro%2 ==0){
   cantpar = cantpar + 1;
}. else {
   // AQUI EL NUMERO TIENE QUE SER IMPAR PORQUE ES EL ELSE DEL IF ANTERIOR
   cantimpar = cantimpar + 1;
  ...

Lo que tienes que mejorar ahora es sumar dentro de los impares, los que son mayores que 20.
Tienes que sumar los valores mayores que 20. Voy a dejar esto propuesto, ojala lo hagas tu. Vuelve con el programa mejorado, bien indentado y sin espacios en blanco innecesarios. Asegurate de probar tu programa, ingresa numeros menores y mayores que 20 y verifica que el resultado esta bien. Si no esta bien y no sabes por que vuelve, exhibe tu programa y pregunta.
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

Java Error

Publicado por Julian (4 intervenciones) el 29/09/2020 17:16:07
Estoy plenamente de acuerdo con usted. Gracias por sus consejos y enseñanzas. Llegue hasta el siguiente código. Soy incapaz de avanzar.



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
import java.util.Scanner;
 
 
public class ParImpar {
 
    public static void main(String[] args) {
 
        Scanner sc = new Scanner(System.in);
           int nro, cantpar=0, cantimpar=0, suma=0;
            System.out.print("Ingrese serie de números");
            nro = sc.nextInt();
            if (nro%2 ==0){
                cantpar = cantpar + 1;
            }else  if  (nro%2 != 0  && nro%2 >20) {
                cantimpar = cantimpar + 1;
                suma = suma + cantimpar;
 
                           }
 
            }
 
               }
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