Menú

Mostrar Mensajes

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

Mostrar Mensajes Menú

Mensajes - Antoniio

#71
Java / Insertar registros en BD
10 Mayo 2016, 19:01 PM
Hola, buenas. Estoy trabajando con una base de datos específica para este trabajo, lo que he logrado hasta ahora es comunicarme a la base e imprimir lo que tenemos en esas tablas. Mi pregunta es: ¿Cómo crear ventanas gráficas para capturar nuevos datos?, osea, crear por ejemplo un botón de "Insertar" que permita al usuario insertar cualquiera de los siguientes registros: un maestro, una materia, un eje de desarrollo o una seriacion de materias?...el código es este:
Código (java) [Seleccionar]

package unison.lcc;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.logging.Level;
import java.util.logging.Logger;

public class Principal {
    public static void main(String[] args) {
        // TODO code application logic here
        ConectorBD conector1 = new ConectorBD();
        conector1.abrir();
        conector1.comunicar();
        conector1.cerrar();
    }

    private static class ConectorBD {
        Connection conexion=null;
        public ConectorBD() {
        }

        private void abrir() {
            try {
                System.out.println("Abriendo BD");
                conexion= DriverManager.getConnection(
                        "jdbc:mysql://148.225.83.3:3306/e5ingsoft2",
                        "e5ingsoft2", "7MLtw21");
                System.out.println("Coenxion exitosa:"+conexion);
            } catch (SQLException ex) {
                System.out.println("error de conexion"+ex.toString());
            }
        }

        private void leer() {
            System.out.println("Comunicando con la bd");
            String sql = "SELECT * FROM maestro;";
            if(this.conexion!=null){
                try {
                    //crear Sentencia
                    Statement sentencia = conexion.createStatement();
                    //ejecutar "query" en la bd
                    ResultSet resultado = sentencia.executeQuery( sql );
                    //imprimir resultados
                    ResultSetMetaData meta = resultado.getMetaData();
                    int n = meta.getColumnCount();
                    for(int i=1; i<=n; i++){
                        System.out.print("| "+ meta.getColumnName(i) + " |");
                    }
                    System.out.println("");
                    while( resultado.next() ){
                        System.out.print(resultado.getRow()+") ");
                        for(int i=1; i<=n; i++){
                            System.out.print(resultado.getObject(i) + " |");
                        }
                        System.out.println("");
//                        System.out.println(resultado.getRow()+") "+
//                                resultado.getObject(1) + " | " +
//                                resultado.getObject(2)
//                        );
                    }
                    System.out.println("");
                } catch (SQLException ex) {
                    System.out.println("Error en la lectura de bd:"+ex.toString());
                }
            }
        }
       
        private void comunicar(){
            this.insertar();
            this.leer();
        }

        private void cerrar() {
            System.out.println("cerrando bd");
            if(conexion!=null){
                try {
                    conexion.close();
                    System.out.println("Gracias por usar BD. Conexion cerrada!"+conexion);
                } catch (SQLException ex) {
                    System.out.println("No puedo cerrar BD");
                }
            }
        }

        private void insertar() {
            System.out.println("insertando en la bd");
            String sql = "INSERT INTO maestro values("+(int)(Math.random()*100000)+
                    ", 'Desconocido', 662123456, \"Desconocida\");";
            if(this.conexion!=null){
                try {
                    //crear Sentencia
                    Statement sentencia = conexion.createStatement();
                    //ejecutar "query" en la bd
                    int resultado = sentencia.executeUpdate( sql );
                    //imprimir resultados
                    System.out.println("insercion realizada");
                } catch (SQLException ex) {
                    System.out.println("Error en la lectura de bd:"+ex.toString());
                }
            }
        }
    }   
}


Alguna sugerencia??, gracias de antemano !!

Saludos.

MOD EDIT: Etiqueta GeSHi corregida.
#72
Java / Re: Manejo de hilos
9 Mayo 2016, 17:45 PM
Bueno, ya lo he resuelto :P

Gracias ;D
#73
Java / Re: Manejo de hilos
8 Mayo 2016, 08:38 AM
Mmmm no comprendo la lógica :S
#74
Java / Re: Manejo de hilos
7 Mayo 2016, 22:17 PM
Este es:

import java.awt.*;import java.awt.event.ActionEvent;
import javax.swing.*;
public class SierpinskiCarpet extends JPanel {
    private final int dim = 513;
    private final int margin = 20;
    private int limit = dim;
    public SierpinskiCarpet() {
        setPreferredSize(new Dimension(dim + 2 * margin, dim + 2 * margin));
        setBackground(Color.white);
        setForeground(Color.black);
        new Timer(2000, (ActionEvent e) -> {
            limit /= 3;
            if (limit <= 3)
                limit = dim;
            repaint();
        }).start();
    }
    void drawCarpet(Graphics2D g, int x, int y, int size) {
        if (size < limit)
            return;
        size /= 3;
        for (int i = 0; i < 9; i++) {
            if (i == 4) {
                g.fillRect(x + size, y + size, size, size);
            } else {
                drawCarpet(g, x + (i % 3) * size, y + (i / 3) * size, size);
            }
        }
    }
    @Override
    public void paintComponent(Graphics gg) {
        super.paintComponent(gg);
        Graphics2D g = (Graphics2D) gg;
        g.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
                RenderingHints.VALUE_ANTIALIAS_ON);
        g.translate(margin, margin);
        drawCarpet(g, 0, 0, dim);
    }
    public static void main(String[] args) {
        SwingUtilities.invokeLater(() -> {
            JFrame f = new JFrame();
            f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            f.setTitle("Alfombra de Sierpinski");
            f.setResizable(false);
            f.add(new SierpinskiCarpet(), BorderLayout.CENTER);
            f.pack();
            f.setLocationRelativeTo(null);
            f.setVisible(true);
        });
    }
}
#75
Java / Re: Manejo de hilos
6 Mayo 2016, 23:30 PM
Ese es el problema, no fui la última semana de clase y no tengo idea de cómo trabajar con hilos, investigué en internet pero no puedo hacer que funcione usando hilos para cada cuadrado @.@
#76
Java / Manejo de hilos
5 Mayo 2016, 03:38 AM
Hola, buenas. Estoy intentanto hacer una versión de la "Alfombra de Sierpinski":     
https://es.wikipedia.org/wiki/Alfombra_de_Sierpinski

El problema es que se me solicita que el programa maneje un hilo para cada cuadrado que se va a rellenar. Así, cuando se deban rellenar sub-cuadrados, se deben crear nuevos hilos.
Cuál es la manera de hacer eso??,  espero alguien pueda responder, dejo el programa aquí abajo.

https://mega.nz/#!aVhDkISI!oMxyyf_qaqi_3QE8pHrpdo8hnof1Wy8rX15g2Zbc6e8

Saludos !!
#77
Exacto, ya lo tengo ! :3

Gracias !!!
#78
Bien, hice esto:

    try{
        FileReader fr = new FileReader(cajaTexto.getText());
        BufferedReader br = new BufferedReader(fr);
        String texto;
        while((texto=br.readLine())!=null){
           System.out.println(texto);
        }
        int c = 0;
        for(int i=0;i<texto.length();i++) {
          if ((texto.charAt(i)=='a')){
            c++;
  }
    System.out.println(  "La letra (a) se repite " + c + " veces en el archivo.");       
}
       
        }catch(Exception ex){}
    }             



Sería sólo para la letra "a" , entonces tendría que hacer un ciclo para cada letra del abecedario D:
#79
Pero no se leerá un String declarado, lo que se debe leer es cualquier txt que tenga en la pc..
#80
Java / Saber cuántas veces se repiten letras
24 Abril 2016, 23:04 PM
Hola, buenas. Ando buscando la forma de saber cuántas letras del abecedario se repiten en cualquier archivo de texto que se lea en el programa. Ya hice la parte lectora del archivo, pero no se cómo contar las letras e imprimir el número de veces que se repite cada una.

Entonces, lo que tengo hasta ahora es esto:


*La idea es examinar el archivo (Hecho)
*Después Leerlo e imprimirlo (Hecho)
*Lo tercero es crear la frecuencia de letras, osea, cuántas veces sale "a", cuantas "b", etc. e imprimirlo en un JOptionPane o en una gráfica.(No Hecho)

Alguna sugerencia para llevar acabo la tercera parte??

Gracias de antemano !

Aquí el programa por si es necesario una revisión:
https://mega.nz/#!CJYVVRwI!MTb-vq_NBvxia7ZibDJoiE2YwmoVtPEOOEu4D_NxTsU