¿Tengo un problema con la sintaxis de un programa que estoy realizando en JAVA Application?

sintaxis ;

/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package ejercicio.pkg4.prueba.de.escritorio;
import java.útil.Scanner;
/**
*
* @author DavidMarquez
*/
public class Ejercicio4PruebaDeEscritorio {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
Scanner entrada = new Scanner(System.in);
int CAN;
int PRE;
double SUB;
double ISV;
double TOTAL;
System.out.print("Escriba el valor de CAN:");
CAN= entrada.nextInt();
System.out.print("Escriba el valor de PRE:");
PRE= entrada.nextInt();
SUB=CAN*PRE;
ISV =SUB*0.12;
TOTAL= ISV+SUB;
System.out.printf("Precio:",PRE);
System.out.printf("Isv:",ISV);
System.out.printf("Total",TOTAL);
}
}

Al imprimir en pantalla me tira los siguientes errores:

Run:
Escriba el valor de CAN:10
Escriba el valor de PRE:53.5
Exception in thread "main" java.útil.InputMismatchException
at java.útil.Scanner.throwFor(Scanner.java:909)
at java.útil.Scanner.next(Scanner.java:1530)
At java. Útil. Scanner.nextInt(Scanner.java:2160)
At java. Útil. Scanner.nextInt(Scanner.java:2119)
At ejercicio. Pkg4. Prueba. De. Escritorio. Ejercicio4PruebaDeEscritorio. Main(Ejercicio4PruebaDeEscritorio.java:33)
Java Result: 1
BUILD SUCCESSFUL (total time: 9 seconds)

¿Quién me ayuda a resolver el error en codigo?

¿Quién me ayuda a resolver el error en codigo?

Respuesta
1

El error es simple.

Estas usando el método nextInt(); que espera un numero de tipo int, vamos un entero, y tu le estas pasando 53.5, es decir un numero decimal. Tendrías que utilizar double en lugar de int, y el método nextDouble en lugar de nextint.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas