Autor Tema: CU00623B / consulta de una linea uso del operador + para concatenar cadenas  (Leído 3997 veces)

LPM

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 35
    • Ver Perfil
Código: [Seleccionar]
/* Ejemplo - aprenderaprogramar.com */

//Esta clase representa un taxi. -- > Comentario general que puede incluir: cometido, autor, versión, etc…

public class Taxi { //El nombre de la clase

    private String ciudad; //Ciudad de cada objeto taxi

    private String matricula; //Matrícula de cada objeto taxi

    private String distrito; //Distrito asignado a cada objeto taxi

    private int tipoMotor; //tipo de motor asignado a cada objeto taxi. 0 = desconocido, 1 = gasolina, 2 = diesel

 

    //Constructor: cuando se cree un objeto taxi se ejecutará el código que incluyamos en el constructor

    public Taxi () {

        ciudad = “México D.F.”;       

        matricula = "";

        distrito = "Desconocido";

        tipoMotor = 0;

    } //Cierre del constructor … el código continúa …

 

    //Método para establecer la matrícula de un taxi

    public void setMatricula (String valorMatricula) {

        matricula = valorMatricula; //La matrícula del objeto taxi adopta el valor que contenga valorMatricula

    } //Cierre del método

    //Método para establecer el distrito de un taxi

    public void setDistrito (String valorDistrito) {

        distrito = "Distrito " + valorDistrito; //El distrito del objeto taxi adopta el valor indicado

    } //Cierre del método

    public void setTipoMotor (int valorTipoMotor) {

        tipoMotor = valorTipoMotor; //El tipoMotor del objeto taxi adopta el valor que contenga valorTipoMotor

    } //Cierre del método

    //Método para obtener la matrícula del objeto taxi

    public String getMatricula () { return matricula; } //Cierre del método

    //Método para obtener el distrito del objeto taxi

    public String getDistrito () { return distrito; } //Cierre del método

    //Método para obtener el tipo de motor del objeto taxi

    public int getTipoMotor () { return tipoMotor; } //Cierre del método

} //Cierre de la clase


Hola. Mi consulta es sobre la línea 45

distrito = "Distrito " + valorDistrito; //El distrito del objeto taxi adopta el valor indicado

por qué se suma en vez de solamente tomar un nuevo valor?
según las otras líneas debería ser así

distrito = valorDistrito;
« Última modificación: 11 de Noviembre 2014, 08:31 por Alex Rodríguez »

toni_apr

  • Avanzado
  • ****
  • Mensajes: 497
  • Curiosidad, es uno de los pilares del Conocimiento
    • Ver Perfil
Re:CU00623B / consulta de una linea
« Respuesta #1 en: 08 de Noviembre 2014, 09:06 »
Hola LPM
Tu propuesta
distrito = valorDistrito;
es la mejor de todas las soluciones posibles.
Pero en este ejercicio, tal como has observado tu, el diseñador ha decidido que cualquier distrito que introduzcamos lleve al principio la palabra "Distrito ". Como podía haber decidido poner:
distrito = "D. = " + valorDistrito;

Si los distritos fueran: Norte, Sur, Este y Oeste
El valor formal para el distrito Norte sería: Norte
Pero el valor coloquial podría ser: Distrito Norte

Te pongo un ejemplo:
En la oficina de Correos. Un cartero pregunta a su compañero:
¿Que distrito te ha tocado?
Y el compañero responde:
Respuesta formal: Norte
Respuesta coloquial: Distrito Norte

En el mundo real se utilizaría la respuesta coloquial. Y en el mundo estricto de las máquinas el formal.

Así resumiendo, el propósito de la concatenación de una constante "Distrito " con una variable 'valorDistrito' es únicamente un intento de dar al atributo 'distrito' un valor amigable, en lugar de un valor seco y austero.

Saludos

LPM

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 35
    • Ver Perfil
Re:CU00623B / consulta de una linea
« Respuesta #2 en: 08 de Noviembre 2014, 16:36 »
sí, entendí.

gracias

lo que me cuesta entender es el ejemplo que das

distrito = "D. = " + valorDistrito;

ejecutando el programa quedaria escrito así?

D. = Norte/Sur/etc

me confunde un poco que haya otro simbolo =, pero al estar entrecomillas, indica que ese = es parte del texto?




toni_apr

  • Avanzado
  • ****
  • Mensajes: 497
  • Curiosidad, es uno de los pilares del Conocimiento
    • Ver Perfil
Re:CU00623B / consulta de una linea
« Respuesta #3 en: 08 de Noviembre 2014, 21:22 »
Si, exacto. Lo has entendido perfectamente.
Citar
distrito = "D. = " + valorDistrito;

ejecutando el programa quedaria escrito así?

D. = Norte/Sur/etc

Lo que se pone entre comillas dobles, saldrá tal cual lo escribamos, tanto si ponemos abreviaturas, faltas de ortografía o texto incoherente.

Es nuestra responsabilidad lo que escribimos entre comillas. No tienes mas que probarlo tu mismo en cualquier programa

Saludos

LPM

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 35
    • Ver Perfil
Re:CU00623B / consulta de una linea
« Respuesta #4 en: 09 de Noviembre 2014, 21:05 »
gracias =)

 

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".