Java - No se me ejecuta el valor de las variables en la última línea de código

 
Vista:
sin imagen de perfil

No se me ejecuta el valor de las variables en la última línea de código

Publicado por Hugo (2 intervenciones) el 28/08/2024 16:01:24
Hola a todos/as, cuando ejecuto la última línea de código no aparecen el valor de las variables. ¿Alguien me puede ayudar?. Dejo el código que estoy utilizando.

1
2
3
4
5
6
7
8
public class O2_Ej3 {
    public static void main(String[] args)
    {
        System.out.println("¿Cómo te llamas?:");
        String nombre=System.console().readLine("Hugo");
        System.out.println("¿Cuál es tu edad?");
        String edad=System.console().readLine("24");
        System.out.println("Te llamas..."+ nombre +"Y tienes"+ edad +"años");
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

No se me ejecuta el valor de las variables en la última línea de código

Publicado por Yamil Bracho (2316 intervenciones) el 28/08/2024 18:31:56
Si checas los javadocs, readline con parametro debe especificar el formato y sus variables. Es decir te sirve para especificar el prompt y no como valor por defecto que creo es lo que quieres en tu codigo:

En vez de :
1
2
System.out.println("¿Cómo te llamas?:");
String nombre=System.console().readLine("Hugo");

Puedes hacer
1
String nombre=System.console().readLine("%s", "Cual es tu nombre:");

Y tienes que dar un valor porque si no nombre queda inicializado en blanco
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

No se me ejecuta el valor de las variables en la última línea de código

Publicado por Hugo (2 intervenciones) el 29/08/2024 11:50:39
Gracias por tu respuesta, el problema lo tengo en la línea 8. No se ejecutan las variables, las demás líneas se ejecutan de forma correcta.

1
System.out.println("Te llamas..."+ nombre +"Y tienes"+ edad +"años");
(Aquí está el error).

Aparece: Te llamas...Y tienesaños
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 Kabuto
Val: 3.428
Oro
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

No se me ejecuta el valor de las variables en la última línea de código

Publicado por Kabuto (1385 intervenciones) el 03/09/2024 00:32:42
Utilízalo con los paréntesis vacíos.

1
2
3
4
5
6
7
8
9
public static void main(String[] args) {
 
		System.out.println("¿Cómo te llamas?:");
        String nombre= System.console().readLine();
        System.out.println("¿Cuál es tu edad?");
        String edad=System.console().readLine();
        System.out.println("Te llamas..."+ nombre +"Y tienes"+ edad +"años");
 
	}

Los paréntesis no son para darle valor a las variables. Esos valores se introducen mediante teclado durante la ejecución del programa.

Los paréntesis son para pasar argumentos a la función readLine() y modificar su comportamiento. Pero si quieres leer simplemente un String, usa los paréntesis vacíos y ya está.


En cualquier caso, yo prefiero usar la clase Scanner para pedir datos:

1
2
3
4
5
6
7
8
9
10
11
public static void main(String[] args) {
 
		Scanner teclado = new Scanner(System.in);
		System.out.println("¿Cómo te llamas?:");
        String nombre= teclado.nextLine();
        System.out.println("¿Cuál es tu edad?");
        String edad = teclado.nextLine();
        System.out.println("Te llamas..."+ nombre +" Y tienes"+ edad +"años");
        teclado.close();
 
	}
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