Foros aprenderaprogramar.com
Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: Refer en 22 de Junio 2015, 21:19
-
Tengo un problema con el resultado que me deberia de dar al ingresar un valor(edad) a la consola de NetBeans, a edad le tengo asignado un metodo de cual optendra un valor ingresado por el usuario en la consola. Pero al ingresar un valor como por ejemplo:
edad= 20 me devuelve un valor de 50 en el enunciado
System.out.println(" Su edad es: " + edad)
import java.io.IOException;
public class cero{
public static void main(String args[])throws IOException
{
int edad= 0;
System.out.print("Ingrese su edad: ");
edad = System.in.read();
System.out.println("Su edad es: " + edad);
}
}
Por favor ayudenme, no entiendo donde esta el error :(
-
hola lo primero tenes que llamar a la clase con lo hace la clase como por ejemplo ComprobadorEdad o algo parecido.
y el codigo esta mal tenes que crear el teclado ejemplo
Scanner teclado = new Scanner(System.in);
y usando teclado creado le asigna a edad el valor ingresado pero tenes que convertir porque la edad es de tipo entero y el teclado de String para convertir usa Integer.valueOf(); o algo asi o podes poner como String la edad
al final el codigo quedaria algo asi.
package cero;
import java.util.Scanner;
public class Cero {
public static void main(String[] args) {
int edad = 0;
Scanner teclado = new Scanner(System.in);
System.out.print("Ingrese su edad: ");
edad = Integer.valueOf(teclado.nextLine());
System.out.println("Su edad es: " + edad);
}
}
-
Yo te recomendaría que sigas el curso de java desde cero así para aprender la estructura, lógica y la forma correcta de programar en java te va a ayudar mucho participando del foro para resolver los ejercicios y las dudas que tengas.
https://www.aprenderaprogramar.com/index.php?option=com_content&view=category&id=68&Itemid=188 (https://www.aprenderaprogramar.com/index.php?option=com_content&view=category&id=68&Itemid=188)
-
Muchas gracias, ese metodo si funciona aun que sigo con la duda por que el metodo read produce ese resultado
-
Yo probé en netBeans también y no me compilo luego el código daba error no me apareció el resultado que me dijiste medio raro es si te apareció eso a vos.
-
El problema es que se lee un caracter únicamente, este ejemplo permite leer un numero mayor con read() pasandole un parámetro.
package cero;
import java.io.*;
public class Cero {
public static void main(String args[]) {
byte[] edad = new byte[6];
int nBytes;
System.out.print("Ingrese su edad: ");
try {
nBytes = System.in.read(edad);
System.out.println("Su edad es: " + new String(edad));
} catch (IOException e) {
System.out.println("Error: " + e.toString());
}
}
}