Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - Alex Rodríguez

Páginas: 1 ... 32 33 34 35 36 [37] 38 39 40 41 42 ... 93
721
Hola Gabriel, feliz año y gracias por tus aportes. Tan solo comentarte una "pequeña cosa". Para pegar el código en los foros y que quede bien formateado debes hacerlo usando el botón # del editor, puedes ver la explicación de cómo hacerlo en https://www.aprenderaprogramar.com/foros/index.php?topic=1460.0

Saludos

722
Hola, hay dos cuestiones diferentes. Que la salida del xml esté en una sola línea no significa que el xml no sea válido o esté mal configurado. De hecho si lo abres en un navegador te lo mostrará con un formateado correcto.

Ejemplo de código para crear un fichero xml:

Código: [Seleccionar]
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
import org.w3c.dom.Attr;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import java.io.File;

public class CreateXmlFileDemo {

   public static void main(String argv[]) {

      try {
         DocumentBuilderFactory dbFactory =
         DocumentBuilderFactory.newInstance();
         DocumentBuilder dBuilder =
            dbFactory.newDocumentBuilder();
         Document doc = dBuilder.newDocument();
         // root element
         Element rootElement = doc.createElement("cars");
         doc.appendChild(rootElement);

         //  supercars element
         Element supercar = doc.createElement("supercars");
         rootElement.appendChild(supercar);

         // setting attribute to element
         Attr attr = doc.createAttribute("company");
         attr.setValue("Ferrari");
         supercar.setAttributeNode(attr);

         // carname element
         Element carname = doc.createElement("carname");
         Attr attrType = doc.createAttribute("type");
         attrType.setValue("formula one");
         carname.setAttributeNode(attrType);
         carname.appendChild(
         doc.createTextNode("Ferrari 101"));
         supercar.appendChild(carname);

         Element carname1 = doc.createElement("carname");
         Attr attrType1 = doc.createAttribute("type");
         attrType1.setValue("sports");
         carname1.setAttributeNode(attrType1);
         carname1.appendChild(
         doc.createTextNode("Ferrari 202"));
         supercar.appendChild(carname1);

         // write the content into xml file
         TransformerFactory transformerFactory =
         TransformerFactory.newInstance();
         Transformer transformer =
         transformerFactory.newTransformer();
         DOMSource source = new DOMSource(doc);
         StreamResult result =
         new StreamResult(new File("C:\\cars.xml"));
         transformer.transform(source, result);
         // Output to console for testing
         StreamResult consoleResult =
         new StreamResult(System.out);
         transformer.transform(source, consoleResult);
      } catch (Exception e) {
         e.printStackTrace();
      }
   }
}

El resultado si lo abres en un editor de texto está en una sola línea, si lo abres en un navegador lo verás en varias líneas.

Si quieres que el resultado se formatee adecuadamente puedes basarte en este código:

Código: [Seleccionar]
import org.apache.xml.serialize.OutputFormat;
import org.apache.xml.serialize.XMLSerializer;
import org.w3c.dom.Document;
import org.xml.sax.InputSource;
import org.xml.sax.SAXException;

import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import java.io.IOException;
import java.io.StringReader;
import java.io.StringWriter;
import java.io.Writer;

/**
 * Pretty-prints xml, supplied as a string.
 * <p/>
 * eg.
 * <code>
 * String formattedXml = new XmlFormatter().format("<tag><nested>hello</nested></tag>");
 * </code>
 */
public class XmlFormatter {

    public XmlFormatter() {
    }

    public String format(String unformattedXml) {
        try {
            final Document document = parseXmlFile(unformattedXml);

            OutputFormat format = new OutputFormat(document);
            format.setLineWidth(65);
            format.setIndenting(true);
            format.setIndent(2);
            Writer out = new StringWriter();
            XMLSerializer serializer = new XMLSerializer(out, format);
            serializer.serialize(document);

            return out.toString();
        } catch (IOException e) {
            throw new RuntimeException(e);
        }
    }

    private Document parseXmlFile(String in) {
        try {
            DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
            DocumentBuilder db = dbf.newDocumentBuilder();
            InputSource is = new InputSource(new StringReader(in));
            return db.parse(is);
        } catch (ParserConfigurationException e) {
            throw new RuntimeException(e);
        } catch (SAXException e) {
            throw new RuntimeException(e);
        } catch (IOException e) {
            throw new RuntimeException(e);
        }
    }

    public static void main(String[] args) {
        String unformattedXml =
                "<?xml version=\"1.0\" encoding=\"UTF-8\"?><QueryMessage\n" +
                        "        xmlns=\"http://www.SDMX.org/resources/SDMXML/schemas/v2_0/message\"\n" +
                        "        xmlns:query=\"http://www.SDMX.org/resources/SDMXML/schemas/v2_0/query\">\n" +
                        "    <Query>\n" +
                        "        <query:CategorySchemeWhere>\n" +
                        "   \t\t\t\t\t         <query:AgencyID>ECB\n\n\n\n</query:AgencyID>\n" +
                        "        </query:CategorySchemeWhere>\n" +
                        "    </Query>\n\n\n\n\n" +
                        "</QueryMessage>";

        System.out.println(new XmlFormatter().format(unformattedXml));
    }

}

Saludos

723
Hola si por lo que dices otras librerías te funcionan, ¿la librería sí es accesible? ¿Puedes crear código usando clases de esa librería? Es decir, no sé si el fallo está al acoplar la librería al proyecto o está ya en cuestiones propias de cómo usar la librería

Saludos

724
Hola, ¿puedes mostrar el insert que te funciona bien?

Por lo que dices el error parece estar en la consulta.

Prueba en lugar de

sql = ("SELECT pern,pera,levelname,levelnum,perid FROM personas WHERE perid ="(fperid.Text))

A escribir algo como esto:
         
sql = ("SELECT pern,pera,levelname,levelnum,perid FROM personas WHERE perid ='" & fperid.Text & "'")

Fíjate que el texto va envuelto en apóstrofes y en usar el operador & de concatenación.

Otra opción que puedes probar es:

sql = ("SELECT pern,pera,levelname,levelnum,perid FROM personas WHERE perid LIKE '" & fperid.Text & "'")

Saludos

725
Hola Chema y Hquinn

Lo primero recordar que para aportar una respuesta a ejercicios debe crearse un nuevo hilo (nuevo tema) en los foros en lugar de responder sobre un hilo ya abierto. Sólo se debe responder sobre un hilo ya abierto cuando se responde a algo específico de lo que se esté hablando en ese hilo.

Para que Chema no tenga que crear otro hilo voy a responder aquí mismo, pero si se vuelve a responder sobre hilos ya abiertos borraré el mensaje ya que si no es así resulta imposible mantener ordenados los foros.

El ejercicio de Chema está muy bien (comentarios, nombres de atributos, nombres de métodos, inicialización de atributos, etc. está todo bien). A seguir así!

Saludos

726
Hola Chema, te recuerdo que para aportar tu respuesta a ejercicios debes crear un nuevo hilo (nuevo tema) en los foros. Sólo se debe responder sobre un hilo ya abierto cuando se responde a algo de lo que se esté hablando en ese hilo.

Para que no tengas que crear otro hilo te voy a responder a tu ejercicio aquí mismo. Tu planteamiento es correcto pero lo que tú has llamado objetos podrían ser subclases.

Un objeto es algo único. Por ejemplo un coche Seat Panda con matrícula 0511GNH es algo único. Pero si dices que el coche es un Seat Panda no es un objeto único. Estás diciendo que el tipo del coche es Seat Panda.

Con los aviones ocurre algo parecido: si dices que el avión es un Boeing 737 estás diciendo el tipo de avión que es. Pero para referirte a un objeto tendrías que decir que es un Boeing 737 con número de serie 04325331, en este caso sí es un objeto (único). También sería válido decir que es el Boeing 737 con nombre "ES-Ciudad de Valencia" suponiendo que sólo hay un avión con ese nombre.

Si te fijas en el ejemplo del curso con los taxis se hace algo parecido, como superclase Vehiculo, como clase Taxi y como objetos ya son objetos concretos, no algo que pueda entenderse como un tipo de algo.

Espero haberme explicado.

Saludos

727
Hola Chema, por favor no respondas sobre hilos ya abiertos para mostrar tu respuesta a ejercicios.

Abre un nuevo tema y plantea tu solución en un nuevo tema, esto ayuda a mantener los foros mejor ordenados. Por favor con este ejercicio abre un nuevo tema.

Saludos

728
Hola Javier, para poder ayudarte pega el código completo que estás usando, tanto el html como el css, de esa forma podremos revisarlo. Para pegar código hazlo como se explica en https://www.aprenderaprogramar.com/foros/index.php?topic=1460.0 y antes de publicar el mensaje pulsa en previsualizar por si es necesario hacer algún cambio

Saludos

730
Hola kofu, gracias a tí por incluir la solución, puede ser de ayuda para otras personas. En caso de que necesites crear un nuevo hilo en los foros ten en cuenta las indicaciones que se dan en https://www.aprenderaprogramar.com/foros/index.php?topic=1460.0

Saludos

731
Hola edwin lee por favor lo que se indica en https://www.aprenderaprogramar.com/foros/index.php?topic=1460.0 y no olvides incluir el código del ejercicio en el asunto del mensaje, por ejemplo en este caso CU00623B

Saludos

732
Hola Almenra, como es tu primer mensaje en los foros te recuerdo lo que comentamos siempre:

- Para pegar código debe hacerse como se explica en https://www.aprenderaprogramar.com/foros/index.php?topic=1460.0

- Debes dar datos como el lenguaje con el que estás trabajando, el compilador o ide que estás utilizando, etc.

¿A qué te refieres con gráficos? Te refieres a formas creadas con caracteres, por ejemplo un avión así:


              _
              -=\`\
          |\ ____\_\__
        -=\c`""""""" "`)
           `~~~~~/ /~~`
             -==/ /
               '-'

¿O te refieres a insertar imágenes?

¿O te refieres a gráficos formados a partir de líneas y curvas que dibuje el programa?

Saludos

733
Hola Claudia, te recomiendo seguir este curso http://aprenderaprogramar.com/index.php?option=com_content&view=category&id=70&Itemid=193 ya que ahí se explica, en concreto en la entrega (CU00838B).

También puede hacerse algo parecido con JavaScript (http://aprenderaprogramar.com/index.php?option=com_content&view=category&id=78&Itemid=206) por ejemplo aquí puedes ver un ejemplo de carga de otras webs, https://www.aprenderaprogramar.com/foros/index.php?topic=3613.0, depende de cómo lo quieras hacer.

Saludos

734
Hola portocarrerojava

Primera: Si estás usando Java no veo necesario usar teclas especiales, pega el código que estés usando y explica dónde tienes el problema para intentar responderte. Es posible que el problema esté relacionado con lo que se comenta en este hilo: https://www.aprenderaprogramar.com/foros/index.php?topic=3521.0

Segunda: pega el código que estés usando y explica dónde tienes el problema para intentar responderte. Normalmente se puede usar "%n" para generar la salida de nueva línea propia de la plataforma-sistema operativo con que se esté trabajando usando la clase formatter.

Saludos

735
Hola Pedro

Ahora todo bien, me habían extrañado los anidamientos del if

Saludos

736
Hola Enzo

Bien comentado, buen uso de la sobreescritura de toString con invocaciones a superclase, bien los constructores en las subclases, bien el uso del método declarado abstracto...

Realmente no hacía falta crear una clase ListaLegisladores para resolver el ejercicio (podía hacerse creándola simplemente dentro del método con el main como se hace en https://www.aprenderaprogramar.com/foros/index.php?topic=2961.0

Para hacer uso del polimorfismo se recomienda declarar siempre los tipos estáticos de la superclase, clase abstracta o interface ("lo más amplio") y el tipo dinámico de la clase concreta. Por ejemplo:

Legislador_CU00695B Diputado1 = new Diputado_CU00695B ("Adrian", "De las Heras Cortes", 57, "Barcelona", "BAR-35752", 7);

Donde el tipo estático es Legislador y el tipo dinámico Diputado. El objeto tiene así los dos tipos y por eso decimos que existe polimorfismo (varias formas del mismo objeto). Prueba a cambiar los tipos estáticos, verás que te funciona igualmente.

Saludos

737
Hola Irving

Para obtener ayuda en los foros debes leer este hilo: https://www.aprenderaprogramar.com/foros/index.php?topic=1460.0

Debes indicar si el problema hay que resolverlo en un lenguaje concreto o en pseudocódigo.

En el curso http://aprenderaprogramar.com/index.php?option=com_content&view=category&id=28&Itemid=59 se explican todas las bases de los arreglos (arrays) y en la entrega CU00154A tienes resuelto un problema similar al que planteas.

Referencia: Ejercicios ejemplos resueltos con Desde-Siguiente (for-next) y arrays (arreglos) en pseudocódigo. (CU00154A)

Saludos

738
Hola Pedro

¿Por qué tienes un if anidado dentro de un else if?

Código: [Seleccionar]
else if(expRegSafari.test(cadena)){
if(expRegChrome.test(cadena)){
msg += 'Google Chrome.';
}else{
msg += 'Apple Safari.';
}
}

Esto parece poco elegante a no ser que sea realmente necesario

739
Hola hanznick3192 siempre debes indicar el lenguaje con el que estás trabajando, si no puede haber malosentendidos.

En tu código hay algunas cuestiones de base que deberías mejorar. Para adquirir los conceptos fundamentales de Java te recomiendo seguir el curso disponible en http://aprenderaprogramar.com/index.php?option=com_content&view=category&id=68&Itemid=188

En la clase Carta tienes como atributo nombreCarta, pero nombreCarta se construye a partir de otros dos atributos (numero y palo). Por ello sería preferible que nombreCarta no fuera un atributo, ya que es derivado de otros. Simplemente deberías disponer un método que se llamara getNombreCarta y que te devolviera el nombre de la carta, sin necesidad de mantener un atributo para ello.

Los símbolos como tréboles, etc. es poco habitual usarlos, es preferible trabajar con el nombre escrito y si necesitaras mostrar el símbolo o una imagen hacerlo a través de un método concreto.

Saludos

740
Hola iAlexisan, he intentado compilar tu código pero no compila, falta código.

En este hilo tienes una explicación sobre la serie de fibonacci: https://www.aprenderaprogramar.com/foros/index.php?topic=900.msg5199#msg5199

La serie de fibonacci es 1, 1, 2, 3, 5, 8... ¿Por qué hablas de una serie 0,1 si el 0 no interviene? ¿Cuál es la definición del problema a resolver donde se expliquen los detalles de lo que se quiere hacer?

Saludos

Páginas: 1 ... 32 33 34 35 36 [37] 38 39 40 41 42 ... 93

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