java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
daniel_5 escribió:Pues por lo que sea, no te está cogiendo el conector de MySQL, pero sin código poco mas se puede mirar ...
¿Haces los imports correctos desde JSP?
Algo de código no vendría mal para ver si está todo ok
Rossyafk escribió:Para Joseph David
Con 2 "For" anidados resuelves fácilmente el problema
Un for para las filas y el otro para las columnas, cuando la fila que vayas a recorrer sea igual al parámetro que te llega utilizas la sentencia "continue;" para saltarte la fila. En todos los demás casos vas recorriendo la matriz y copiándola en una matriz nueva que devolverás como parámetro de salida.
De esta manera no tienes ni que preocuparte de comprobar el parámetro de entrada que te indica la fila.
No te escribo el código porque creo que con el planteamiento que te hago te las podrás apañar.
Saludos,
elenano2 escribió:Una pregunta rápida compañeros, estoy intentado cargar un array de objetos serializados en un jlist pero no consigo que me cargue, el código lo tengo hecho así :
for (int i = 0; i < main.listatiposdetrabajo.size(); i++) {
modelotrabajo.addElement(main.listatiposdetrabajo.get(i).getNombre());
}
Con esto debería cargar todos los nombres en el jlist no?
Un saludo y gracais
Joseph David escribió:Esta bien pensado, pero en la uni nos nos dejan usar continue, ni breaks ....
emudrag escribió:Joseph David escribió:Esta bien pensado, pero en la uni nos nos dejan usar continue, ni breaks ....
Joseph David, te dejan modelar el problema de otra forma,o tienes que hacer la matriz con [][]???
Joseph David escribió:emudrag escribió:Joseph David escribió:Esta bien pensado, pero en la uni nos nos dejan usar continue, ni breaks ....
Joseph David, te dejan modelar el problema de otra forma,o tienes que hacer la matriz con [][]???
Tengo que hacerlo con la matriz con [][].
for (int i = 0, j = 0; i < m.length; ++i) {
if (i != n) {
array[j] = getFila(m, i);
++j;
}
}
Joseph David escribió:Hola, utilizo eclipse para programar en java y estoy atascado haciendo un programa para devolver un matriz m resultado de haber eliminado la fila n, es decir:
/**
* Devuelve un matriz resultado de haber eliminado la fila
* n-ésima de la matriz m pasada como argumento.
* @param m matriz
* @param n fila
* @return matriz resultado de haber eliminado la fila
* n-ésima fila de la matriz m pasada como argumento..
* null si m no e matriz o no existe la fila.
*/
Esto es lo que llevo hecho:
public static double [][] quitarFila(double [][] m, int n){
if (!esMatriz(m)){
return null;
}
if(n>=m.length || n<0){
return null;
}
if (m[n] == null){
return null;
}
double array [][] = new double[m.length-1][m[0].length];
}
Para resolverlo dispongo de unos cuantos métodos que son los siguientes: getFila (devuelve un array con la fila n de una matriz), getColumna (devuelve un array con la columna n de una matriz), clonarArray, clonarMatriz, esMatriz (devuelve un booleano que nos indica si es matriz cuadrada) , esMatrizCuadrada (devuelve un booleano que nos indica si es matriz cuadrada).
Espero que me podáis ayudar. Saludos y gracias de antemano.
elenano2 escribió:Hola Gente! Acudo a vosotros por una dudilla que tengo para compartir un arraylist.
Necesito acceder a un arraylist desde varios Frames, y lo he generado en uno y en ese mismo he creado un metodo DevolverListado(), que lo devuelve mediante return.
Lo que no se, es si esto es correcto, o si funciona directamente...por que luego lo recogo asi :
gestor = GestorCuentas.getInstance();
listaCuentas= gestor.DevolverListado();
Y no contiene ningún valor...si me lo podéis aclarar os lo agradeceré eternamente, ya que se me acaba el plazo este domingo :S y no se como hacerlo..
Muchas gracias por adelantado
Cuenta cuenta = listaCuentas.get(i);
if (cuenta instanceof CuentaAhorro){
// opción 1
CuentaAhorro cuentaAhorro = (CuentaAhorro) cuenta;
cuentaAhorro.medotoQueSoloEstaEnCuentaAhorro();
// opción 2
((CuentaAhorro) cuenta).medotoQueSoloEstaEnCuentaAhorro();
}
public static void main(String[] av) {
JFrame frame = new JFrame("FileTree");
frame.setForeground(Color.black);
frame.setBackground(Color.lightGray);
JPanel jpn = new JPanel();
frame.add(new FileTree(new File("..")));
frame.pack();
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
FT1 = new FileTree(new File("..")));
public class FileTree extends JPanel{
public FileTree (){};
public FileTree(File dir) {
setLayout(new BorderLayout());
JTree tree = new JTree(addNodes(null, dir));
tree.addTreeSelectionListener(new TreeSelectionListener() {
public void valueChanged(TreeSelectionEvent e) {
DefaultMutableTreeNode node = (DefaultMutableTreeNode) e
.getPath().getLastPathComponent();
System.out.println("You selected " + node);
}
});
JScrollPane scrollpane = new JScrollPane();
scrollpane.getViewport().add(tree);
add(BorderLayout.CENTER, scrollpane);
}
DefaultMutableTreeNode addNodes(DefaultMutableTreeNode curTop, File dir) {
String curPath = dir.getPath();
DefaultMutableTreeNode curDir = new DefaultMutableTreeNode(curPath);
if (curTop != null) {
curTop.add(curDir);
}
Vector ol = new Vector();
String[] tmp = dir.list();
for (int i = 0; i < tmp.length; i++)
ol.addElement(tmp[i]);
Collections.sort(ol, String.CASE_INSENSITIVE_ORDER);
File f;
Vector files = new Vector();
for (int i = 0; i < ol.size(); i++) {
String thisObject = (String) ol.elementAt(i);
String newPath;
if (curPath.equals("."))
newPath = thisObject;
else
newPath = curPath + File.separator + thisObject;
if ((f = new File(newPath)).isDirectory())
addNodes(curDir, f);
else
files.addElement(thisObject);
}
for (int fnum = 0; fnum < files.size(); fnum++)
curDir.add(new DefaultMutableTreeNode(files.elementAt(fnum)));
return curDir;
}
@Override
public Dimension getMinimumSize() {
return new Dimension(200, 400);
}
@Override
public Dimension getPreferredSize() {
return new Dimension(200, 400);
}
public static void main(String[] av) {
JFrame frame = new JFrame("FileTree");
frame.setForeground(Color.black);
frame.setBackground(Color.lightGray);
JPanel jpn = new JPanel();
frame.add(new FileTree(new File("..")));
frame.pack();
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
daniel_5 escribió:Hola buenas. Tengo un pequeño gran problema con las conexiones a bbdd oracle.
Hasta ahora no tenia limite de conexiones, pero ahora nos las ha limitado a 20 y he visto que esas comexiones no se estan cerrando. el metodo indica que si se cierran pero no es asi. No se poe que ocurre. La solucion seria utilizar un pool. Teneis alguno un ejemplo? he buacado y ninguno me convence. Me daria igual que el datasource fuera el de apache o el de oracle.
Connection conn = null;
OracleDataSource ods = null;
Properties cacheProps = new Properties();
cacheProps.setProperty("MinLimit", "1");
cacheProps.setProperty("MaxLimit", "10");
cacheProps.setProperty("InitialLimit", "5");
cacheProps.setProperty("ConnectionWaitTimeout", "5");
cacheProps.setProperty("ValidateConnection", "true");
ods = new OracleDataSource();
ods.setURL(URLCONN);
ods.setUser(DEV_USR);
ods.setPassword(DEV_PASSWORD);
ods.setConnectionCachingEnabled(true);
ods.setConnectionCacheName(CACHE_NAME);
ods.setConnectionCacheProperties(cacheProps);
conn = ods.getConnection();
Ruxy escribió:Alguien puede explicarme la diferencia entre una clase abstracta y un interfaz? por lo que entiendo la clase abstracta sirve para definir una estructura (métodos y atributos) sin implementar, que luego se implementan en las clases hijas en que sea necesario. Sobre la interfaz, entiendo que es básicamente lo mismo, pero que ademas un objeto puede tener varias interfaces, cosa que solo puede tener un método abstracto.
Alguien puede confirmarme si es correcto lo que he comentado y orientarme un poco mas en este tema?.
public class Arboles {
public Arboles() {
System.out.println("Un árbol genérico");
}
public Arboles(String tipo) {
System.out.println("Un árbol tipo " + tipo);
}
public Arboles(int altura) {
System.out.println("Un árbol de " + altura + " metros");
}
public Arboles(int altura,String tipo) {
System.out.println("Un " + tipo + " de " + altura + " metros");
}
public static void main(String args[]) {
Arboles arbol1 = new Arboles(4);
Arboles arbol2 = new Arboles("Roble");
Arboles arbol3 = new Arboles();
Arboles arbol4 = new Arboles(5,"Pino");
}
}
Public int sumar ( int num1, int num2) {
Int suma;
suma = num1 + num2;
return suma;
}
Publicar class tururu {
public static void main(String args[]) {
Int numerosum;
Arboles arbol1 = new Arboles();
Numerosum = arbol1.sumar(3,5);
System.out.println(numerosum);
}
}
elenano2 escribió:Hola Compañeros! Requiero vuestra ayuda para una cosa muy tonta pero por mas que busco no lo encuentro.
En mi aplicación, genero unos excel automáticamente donde meto una imagen. Esa imagen esta en otro paquete pero no se como acceder a ella.
Es decir, no se que "ruta" debo poner para que coja la imagen correctamente....
Si lo hago con ruta de directorio no hay ningún problema pero no lo consigo cuando la intento cargar del otro paquete.....
Si alguien sabe como hacerlo se lo agradeceré enormemente
Un saludo y gracias
Budathecat escribió:muchísimas gracias birik voy a ponerme a practicarlo un poco pero justo es lo que buscaba, una explicación sencilla y efectiva .
La duda que tenia es si el main puede "ver" todas las clases de su mismo paquete, o hay que hacer una referencia a esa clase en el sentido de importarla, de ponerla como interface o heredara.. Creo, que si que puede "ver" todas. Esta es una duda que me surgió al ver las heredadas y las interfaces, pero creo que lo lógico es que la clase principal pueda ver todas sin tener que llamar a las clases ensi.
Otra duda que tengo que me surgió al ver codigo es que aveces veo que el main es
public static void main(String[] args)
en lugar de
public static void main(String args[])
Lei que el "args" es un nombre realmente del tipo string(y por lo tanto podria ponerse otro), y no le veo la diferencia a hacerlo de una u otra manera. Aunque igual me estoy adelantando mucho(imagino que en los libros que estoy siguiendo se explicara). Pero soy un poco culo inquieto en estas cosas intento entender todo a la primera y con claridad.
Ahora voy a intentar hacer un clon del dopewars, no se si lo conoceis. Eso si supersencillo... y creando lo que son las ventanas botones y demas con el ide netbeans(pero aspiro a saber programar todo de 0, solo que me parece un reto bonito).
Un saludo y gracias por la paciencia.
package Programas.Ejemplo1;
class HolaMundo {
public static void main ( String[] nombreQueMeDaLaRealGana) {
for(String valor:nombreQueMeDaLaRealGana){
System.out.println(valor);
}
}
}
List<String> lista = new ArrayList<String>();
//aqui operas con lista
ArrayList<String> lista = new ArrayList<String>();
//operar con lista
Exception in thread "main" java.lang.NullPointerException
at paqueton.Usuario.consultaUsuario(Usuario.java:14)
at paqueton.main.main(main.java:27)
Ruxy escribió:Alguien sabe decirme como funciona el cifrado de números XOR? tengo que hacer un ejercicio que cifre y descifre un numero aplicando el método XOR, alguien puede decirme en que consiste el cifrado XOR o como tengo que hacerlo en java?, por lo que he leído cifrar es aplicar el método una vez y descifrar es volver a a aplicar el método XOR al número ya cifrado, pero no veo en que consiste el cifrado o como se hace.
Ruxy escribió:Podeis orientarme con esto? necesito hacer el ejercicio, pero no entiendo como hacer lo del XOR.
public class XorCipher {
private final String passStr;
public XorCipher(int pass) {
passStr = String.valueOf(pass);
}
public String cipher(long value) {
// convertir el valor en una cadena para poder coger dígito a dígito
String valueStr = String.valueOf(value);
// rellenar con 0 por la izquierda
int diff = valueStr.length() % passStr.length();
if ( diff != 0 ) {
for ( int i = 0; i < passStr.length() - diff; i++ ) {
valueStr = '0' + valueStr;
}
}
// cifrar dígito a dígito
int[] resultArray = new int[valueStr.length()];
for ( int i = 0; i < valueStr.length(); i++) {
int left = Integer.valueOf(valueStr.substring(i, i+1));
int right = Integer.valueOf(passStr.substring(i % passStr.length(), i % passStr.length() + 1));
resultArray[i] = left ^ right;
}
// crear el resultado concatenando
String result = "";
for ( int i = 0; i < resultArray.length; i++) {
result += encodeHex(resultArray[i]);
}
return result;
}
public long decipher(String valueStr) {
// si la longitud del valor cifrado no es módulo de la clave -> error
int diff = valueStr.length() % passStr.length();
if ( diff != 0 ) {
throw new ArithmeticException("Cadena a descifrar no válida");
}
// descifrar dígito a dígito
int[] resultArray = new int[valueStr.length()];
for ( int i = 0; i < valueStr.length(); i++) {
int left = decodeHex(valueStr.substring(i, i+1));
int right = Integer.valueOf(passStr.substring(i % passStr.length(), i % passStr.length() + 1));
resultArray[i] = left ^ right;
}
// crear el resultado multiplicando cada número en el array por 10 elevado a la posición - 1
long result = 0;
for ( int i = 0; i < resultArray.length; i++) {
result += resultArray[i] * Math.pow(10, resultArray.length - i - 1);
}
return result;
}
private String encodeHex(int value) {
if ( value == 10 ) return "A";
else if ( value == 11 ) return "B";
else if ( value == 12 ) return "C";
else if ( value == 13 ) return "D";
else if ( value == 14 ) return "E";
else if ( value == 15 ) return "F";
else return String.valueOf(value);
}
private int decodeHex(String value) {
if ( value.equals("A") ) return 10;
else if ( value.equals("B") ) return 11;
else if ( value.equals("C") ) return 12;
else if ( value.equals("D") ) return 13;
else if ( value.equals("E") ) return 14;
else if ( value.equals("F") ) return 15;
else return Integer.valueOf(value);
}
public static void main(String[] args) {
XorCipher cipher = new XorCipher(1234);
long value = 123456789;
String numCipher = cipher.cipher(value);
long numDecipher = cipher.decipher(numCipher);
System.out.println("original: " + value);
System.out.println("cifrado: " + numCipher);
System.out.println("descifrado: " + numDecipher);
}
}
elenano2 escribió:Una pregunta rapida compañeros,
Cual sería la ruta correcta para acceder a una imagen de un mismo paquete?
Por ejemplo si la imagen la tengo en otro paquete que se llama "images" seria: "images/icono.jpg"?
AxL_ escribió:Hola eolianos,
tengo una duda simple acerca de la exportación de mi proyecto a un .jar, ahora expongo el escenario:
Imágen proyecto: http://fotos.subefotos.com/c8bf1663cfe95fae46a22865038a0908o.jpg
Como se puede observar, utilizo el oracle jdbc para conectarme a mi DB para verificar que el usuario y el password son correctos.
DESDE ECLIPSE FUNCIONA Y DESDE EL .JAR NO!!!!
En la imágen se ve en la consola de ejecución de eclipse que el usuario Axel5 con password 1234 NO existe.
Ahora si exporto el .jar y lo ejecuto desde la linea de comandos tengo el siguiente error:Exception in thread "main" java.lang.NullPointerException
at paqueton.Usuario.consultaUsuario(Usuario.java:14)
at paqueton.main.main(main.java:27)
Falla en la linea 14 de la clase Usuario:
Statement stmt = connection.createStatement();
Podéis ver la línea en la imágen
¿¿POR QUÉ??
Gracias!
chinos4ever escribió:Ruxy escribió:Podeis orientarme con esto? necesito hacer el ejercicio, pero no entiendo como hacer lo del XOR.
¿Has visto esto http://es.wikipedia.org/wiki/Cifrado_XOR?
Das pocos datos. Pero voy a intentar adivinar lo que necesitas.
Para cifrar necesitas un número y una clave. La clave supongo que será otro número.
Número:123456789
Clave:1234
Lo primero es rellenar con 0 el número por la izquierda para que su longitud se múltiplo de la clave. En este caso la clave tiene tamaño 4 y el número 9. Hay que añadir tres ceros.
La operación sería realizar la operación XOR, dígito a dígito, entre estos dos números:
000123456789
123412341234
Luego hay que operar posición a posición. Hay que tener cuidado porque el resultado puede darte un número mayor de 9.
He parido una clase que puede servirte de ayuda
Desarrollar una aplicación de cifrado de códigos numéricos.
El cifrador recibirá un código numérico y una implementación de un algoritmo de cifrado/descifrado y la orden de cifrar o descifrar el código.
Existen distintos algoritmos:
• Multiplicar por un número determinado.
• Diferencia existente a un número determinado.
• El XOR con un número determinado.
Desarrollar la clase Actividad5 que en su método main cree un cifrador, y le pida cifrar y descifrar varios códigos usando distintos algoritmos de encriptación.
Nota: aunque el ejercicio se puede resolver con clases abstractas, usar interfaces.