Autor Tema: error de compilación al usar clase Scanner del api java  (Leído 8451 veces)

xtc3

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 25
    • Ver Perfil
Hola a todos estoy haciendo un ejercicio simple ya que soy muy novata en Java y no comprendo por que, mi idea es introducir un valor de un precio por teclado con la clase scanner, que lo lea y luego le reste a ese precio que yo he introducido el IVA correspondiente y lo muestre por pantalla, pero me da un error en una variable ¿me podeis ayudar? gracias.


es el siguiente:

import java.util.Scanner;
class Iva {

   /**
    *INTRODUCIR UN VALOR POR TECLADO Y CALCULAR EL PRECIO SIN EL IVA
    */
   public static void main(String[] args) {
      
   final double IVA = 21;
   double precio;
   double sinIva = precio-((precio*IVA)/100); ****AQUI ES DONDE ME DICE QUE TENGO QUE INICIALIZAR LA VARIABLE PRECIO Y DARLE UN VALOR,PERO LO QUE QUIERO ES PODER INTRODUCIR UN VALOR POR TECLADO Y QUE OPERE CON DICHO VALOR
   

   Scanner Teclado = new Scanner (System.in);
   System.out.println("Introduzca el precio de su producto: ");
   precio = Teclado.nextDouble();
   
      
   System.out.println("Su precio sin iva es : " + sinIva);
   
      
   }

}






Un saludo
« Última modificación: 15 de Septiembre 2014, 13:51 por Alex Rodríguez »

César Krall

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2078
  • No vales por lo que dices, sino por lo que haces
    • Ver Perfil
    • aprenderaprogramar.com
Re:Me da un error de compilación y no comprendo por que
« Respuesta #1 en: 20 de Marzo 2014, 09:58 »
Hola! Te comento varias cosas, la primera como siempre hacemos es que para insertar código uses el botón # que aparece en el editor del foro. Una vez pulsas el botón te aparecen las etiquetas [ code]   [ /code] y entre esas dos etiquetas es donde tienes que pegar el código, que se verá así cuando pulses previsualizar:

Código: [Seleccionar]
Ejemplo de cómo se verá
a
b
c

Ahora vamos con el código: el error que te lanza es una advertencia de que la variable no está inicializada, es un aviso para que la inicialices. Para ello basta con escribir double precio=0;, con eso ya no te dará ese error.

Luego está la lógica del programa: tienes que ir leyendo lo que ejecuta el ordenador paso a paso. En primer lugar se crea una variable IVA que toma valor 21. Luego se crea una variable precio que toma valor 0.
Luego se crea una variable sinIva cuyo valor será precio-((precio*IVA)/100), es decir, 0-0*21/100 y esto vale cero. O sea, sinIva vale cero.

Ahora se pide por teclado que se introduzca el precio y se asigna a la variable precio, por ejemplo introducimos 14.22

Ahora muestra por pantalla Su precio sin iva es: 0 ¿Por qué? Porque sinIva vale cero ya que no has cambiado el valor que tenía.

¿Cómo resolver esto? Primero creamos las variables sin contenido. Luego le vamos asignando contenido a medida que vamos realizando cálculos. Y finalmente mostramos el resultado.

Si no te queda claro puedes mirar esto:

Lógica a aplicar: https://www.aprenderaprogramar.com/index.php?option=com_content&view=article&id=291:sentencias-basicas-de-programacion-en-pseudocodigo-ejemplos-cu00136a&catid=28:curso-bases-programacion-nivel-i&Itemid=59

Ejemplos: https://www.aprenderaprogramar.com/index.php?option=com_content&view=article&id=298:ejercicios-resueltos-ejemplos-de-programacion-con-pseudocodigo-cu00137a&catid=28:curso-bases-programacion-nivel-i&Itemid=59
Responsable de departamento de producción aprenderaprogramar.com

xtc3

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 25
    • Ver Perfil
Re:Me da un error de compilación y no comprendo por que
« Respuesta #2 en: 21 de Marzo 2014, 20:39 »
En primer lugar muchas gracias por la ayuda,  ;)

Observe que era porque no tenia la variable inicializada, pero lo que yo queria era introducir un numero por teclado con la clase scanner, que leyera ese numero y operase con el para hacer el precioSinIva pero eso es lo que no me permite hacer, solo puedo inicializar la variable y darle un valor predefinido y lo que pretendo es que me coja el valor que introduzca el usuario y opere con el.

Gracias por la ayuda, aver si consigo con vuestra ayuda solucionarlo.

César Krall

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2078
  • No vales por lo que dices, sino por lo que haces
    • Ver Perfil
    • aprenderaprogramar.com
Re:Me da un error de compilación y no comprendo por que
« Respuesta #3 en: 22 de Marzo 2014, 14:41 »
A continuación te adjunto el código, aunque mi recomendación es que empieces este curso desde el principio: https://www.aprenderaprogramar.com/index.php?option=com_content&view=category&id=68&Itemid=188

Sería lo mejor para ir asimilando los conceptos que permiten luego seguir avanzando. Saludos,

Código:

Código: [Seleccionar]
import java.util.Scanner;
public class testIva {
     //INTRODUCIR UN VALOR POR TECLADO Y CALCULAR EL PRECIO SIN EL IVA
    public static void main(String[] args) {

        final double IVA = 21;
        double precio;
        Scanner Teclado = new Scanner (System.in);
        System.out.print("Introduzca el precio de su producto: ");
        double entradaTeclado = 0;
        Scanner entradaEscaner = new Scanner (System.in); //Creación de un objeto Scanner
        entradaTeclado = Double.parseDouble(entradaEscaner.nextLine ()); //Invocamos un método sobre un objeto Scanner
        precio = entradaTeclado;
        System.out.println("Su precio sin iva es : " + (precio-precio*IVA/100));
    }
}

Responsable de departamento de producción aprenderaprogramar.com

xtc3

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 25
    • Ver Perfil
Re:Me da un error de compilación y no comprendo por que
« Respuesta #4 en: 24 de Marzo 2014, 08:55 »
Muchas gracias, voy a mirar estos apuntes, es que yo en teoría estoy haciendo un curso online de java y android pero ellos nos dan la teoría y ala a buscarse la vida y ademas es una teoría muy escueta, porque solo tenemos 2 profesores par mas de 60000 alumnos y en dos horas de teoría dime tu que resolvemos, así que hay algunas cosas que las tengo claras ya pero otras que tengo lío que no veas, voy a mirar tus apuntes, muchas gracias por el código y el enlace, a ver si me reoriento :) Un saludo!!

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".