Foro Oficial de Java

Se necesita un cast

¡¡¡Hola!!! Soy nueva en el mundo Java y poco a poco, me estoy adentrando más. Estoy realizando varios ejercicios pero me he quedado encallada en uno y no sé seguir. Me encantaría si pudieraís orientarme un poco, porque apesar de saber que se puede hacer con Tokenizer, no tengo ni idea de como hacer para sumar o hacer operaciones con los datos del archivo .txt.

Aqui les dejo el enunciado :



¡Muchas gracias! ¡Les agradezco el tiempo!

Aquí les dejo mi mail : neusllr@gmail.com

Por si prefieren contactar conmigo para posibles ayudas.=)

Bueno es de saber que los datos del archivo .txt, se usan para salvar la informacion y que una ves se recuperan quedan en formato String (Cadena de caracteres), si requieres hacer operaciones con esos datos la mejor o unica forma es hacerles un cast para cambiarlos a datos operables, seguro que has usado el:
Integer.valueOf(String str).intValue();, claro puedes cambiar el tipo de dato que quieras, long, double.... bueno es cosa de que quieres.

Eso si lo mas importante es diseñar un metodo o clase que reciva tu .txt y extraiga de el las subcadenas que nesecitas.

Pero bueno si eres un poca mas curiosa te encontraras con el ObjectOutputStream que a base de serializacion te permite exportar en archivos el tipo de dato que quieras, ya sea primitivos, arrays, tablas..... de todo y recuperarlos en su tipo original.

Si necesitas mas ayuda, escribeme a zoecohol@yahoo.es o checate javaencore.tk
 
Histograma de Luminocidad

Hola de nuevo:), espero q puedan ayudarme.. mi novia tiene q hacer un histograma de luminocidad usando java
Bueno mi novia dice:
>>tengo q crear un histograma y contar las frecuencias. Y hacer lo siguiente:
1.leer una imagen de un archivo
2.por cada pixel de la imagen, calcular la luminucidad de acuerdo a esta formula:
luminance = .299 × red + .587 × green + .114 × blue
a)incrementar la cuenta por el apropiado bin de luminucidad.. (uno de 16)
3.imprimir la frecuencia de cada uno de los 16 bins (el numero de pixeles q cae en cada bin. Tiene q verse mas o menos asi:
Bin 0 - 15: 16063 pixels
Bin 16 - 31: 42619 pixels
Bin 32 - 47: 38273 pixels
Bin 48 - 63: 36458 pixels
Bin 64 - 79: 33689 pixels
Bin 80 - 95: 20768 pixels
Bin 96 - 111: 16061 pixels
Bin 112 - 127: 13983 pixels
Bin 128 - 143: 12723 pixels
Bin 144 - 159: 11534 pixels
Bin 160 - 175: 10384 pixels
Bin 176 - 191: 9368 pixels
Bin 192 - 207: 8314 pixels
Bin 208 - 223: 7771 pixels
Bin 224 - 239: 9114 pixels
Bin 240 - 255: 20078 pixels

cada bin contiene 16 valores, es decir cada pixel q cae en luminicidad 0-15, estara en el primer bin. En orden de hacer esto.. necesito usar arrays, como x ejemplo:
int [] arr = new arr []

mi pregunta es.. como puedo arreglar esos codigos
y ponerlos en esos intervalos..

desde ya gracias por su ayuda:D, y disculpen si es tan largo este mensaje, cualquier idea de como resolver este problema es bienvenido.. gracias.. :cool:
 
hey bro tas en la misma que Meike necesitas, leer el archivo en formato texto con FileReader y despues crear un metodo que extraiga de ese String los datos numericos que necesitas.

Suerte con eso bro.
 
Que tal bros, una pregunta; he oido que el manejo de sonidos en java, solo es aplicable a applets. Es eso sierto, que paquetes se usan, como se maneja. Bueno todo lo que podais decirme sobre sonido en java os lo agrdesco.
 
utilidades java

Hey bros se me habia olvidado colocar esto, son una calculadora graficadora y un encriptador, os colocaria el codigo, pero se me perdio en la ultima formateada (que rabia), bueno ojala os sirva de algo.
 

Archivos adjuntos

  • Kriptos 1.0.rar
    17.3 KB · Visitas: 114
  • LTA-S PG 1.2.rar
    53.7 KB · Visitas: 118
Histograma de Luminocidad- codigo incompleto

Bueno hasta el momento mi novia tiene esto:


Picture picture =​
new Picture (FileChooser.pickAFile ());
picture.explore();
/*/Browsing and opening a picture file
* and Examining values at particular locations of the picture
*/


Pixel [] pixelArray = picture.getPixels();
Pixel pixel =​
null;

int luminance = 0;
double redValue = 0;
double greenValue = 0;
double blueValue = 0;


int[] arr = newint[16]; //Create a 16 elementary array

(no se si estos valores q di a cada array esta bien:()

arr [0]=15;
arr [1]=31;
arr [2]=47;
arr [3]=63;
arr [4]=79;
arr [5]=95;
arr [6]=111;
arr [7]=127;
arr [8]=143;
arr [9]=159;
arr [10]=175;
arr [11]=191;
arr [12]=207;
arr [13]=223;
arr [14]=239;
arr [15]=255;

(aqui estoy tratando de hacer q todos los pixeles q esten entre 0-15 se pongan en el primer bin 0-15 pero no se como hacer para q se sumen...)

//Loop though all the pixels in the array

for (int i = 0; i <=15; i++) {


//get the current pixel

pixel = pixelArray;

//get the red value

redValue = pixel.getRed ()* 0.299;

//get the green value

greenValue = pixel.getGreen ()* 0.587;

//get the blue value

blueValue = pixel.getBlue ()* 0.114;


luminance = (​
int)(redValue + greenValue + blueValue);




}
 
Bueno hasta el momento mi novia tiene esto:

Otro enfoque:
Conseguir el luminace, dividirlo entre 16(Lo que dará el rango del luminance un numero entre 1-16 correspondiente al lugar del arreglo), luego conteo[lumi/16]++; así tiene el conteo sin necesidad de hacer ciclos.
 
Otro enfoque:
Conseguir el luminace, dividirlo entre 16(Lo que dará el rango del luminance un numero entre 1-16 correspondiente al lugar del arreglo), luego conteo[lumi/16]++; así tiene el conteo sin necesidad de hacer ciclos.

es q cuando se hace eso... no se puede imprimir en el bin correspondiente.. como podria lograr hacer eso??
 
Ejecutar archivo .pl (perl) y .swf (flash) desde Java

Buenas Laneros =)

Mi Pregunta es la siguiente, estoy haciendo un programa en java que me solicita unos datos, calcula unas cosas y me los guarda en una BD, y después necesito ejecutar un programa hecho en perl para que haga otras cosas con los datos en la BD.

Ya ambos programas los tengo hechos =) la pregunta es: ¿Puedo ejecutar el archivo de perl desde java? algo como:

Código:
ejecutar("perl archivo.pl")

O en su defecto puedo colocar directamente el código perl en java? (para evitar tener dos archivos)

Otra cosa, el archivo de perl me genera un archivo de flash .swf, para verlo (después de ejecutado el archivo .pl) tengo que darle click derecho->abrir con-> firefox (al archivo.swf). Ese proceso lo podre hacer también directamente desde java? algo como:

Código:
ejecutar("firefox archivo.swf")

De verdad les agradecería su ayuda :)

PD: Estoy trabajando en Linux ;)
 
es q cuando se hace eso... no se puede imprimir en el bin correspondiente.. como podria lograr hacer eso??
A que te referís con "imprimir en el bin correspondiente."?
Buenas Laneros =)

Mi Pregunta es la siguiente, estoy haciendo un programa en java que me solicita unos datos, calcula unas cosas y me los guarda en una BD, y después necesito ejecutar un programa hecho en perl para que haga otras cosas con los datos en la BD.

La idea seria rt.exec(ejecutable+argumentos(ubicaciondelscript))
Por detrás seria como ir al Shell, Igual para FF;
Otra cosa seria correr un swf en java creo que toca con un api por aparte, toca -> google “swf java”
 
Buenas Laneros =)

Mi Pregunta es la siguiente, estoy haciendo un programa en java que me solicita unos datos, calcula unas cosas y me los guarda en una BD, y después necesito ejecutar un programa hecho en perl para que haga otras cosas con los datos en la BD.

Ya ambos programas los tengo hechos =) la pregunta es: ¿Puedo ejecutar el archivo de perl desde java? algo como:

Código:
ejecutar("perl archivo.pl")

O en su defecto puedo colocar directamente el código perl en java? (para evitar tener dos archivos)

Otra cosa, el archivo de perl me genera un archivo de flash .swf, para verlo (después de ejecutado el archivo .pl) tengo que darle click derecho->abrir con-> firefox (al archivo.swf). Ese proceso lo podre hacer también directamente desde java? algo como:

Código:
ejecutar("firefox archivo.swf")

De verdad les agradecería su ayuda :)

PD: Estoy trabajando en Linux ;)

Pos bro yo he trabajado poco, invocando servicios, pero me imagino que debe ser algo mas complejo........ no se bro creo que debe haver un api, o una orden dentro del Java.io para ejecutar ficheros con el programa predeterminado....Toca seguir viendo....
 
A que te referís con "imprimir en el bin correspondiente."?

Gracias NSlaver por el interes de tratar ayudar a resolver este problema. El dilema es el siguiente:
necesita q al correr el programa salga algo parecido a la imagen se esta usando.

Aun no consigue el loop (for o while) para hacer eso. Osea el contar todos los pixels q caen en esos intervalos.

Bin 0 - 15: 16063 pixels
Bin 16 - 31: 42619 pixels
Bin 32 - 47: 38273 pixels
Bin 48 - 63: 36458 pixels
Bin 64 - 79: 33689 pixels
Bin 80 - 95: 20768 pixels
Bin 96 - 111: 16061 pixels
Bin 112 - 127: 13983 pixels
Bin 128 - 143: 12723 pixels
Bin 144 - 159: 11534 pixels
Bin 160 - 175: 10384 pixels
Bin 176 - 191: 9368 pixels
Bin 192 - 207: 8314 pixels
Bin 208 - 223: 7771 pixels
Bin 224 - 239: 9114 pixels
Bin 240 - 255: 20078 pixels
 
A que te referís con "imprimir en el bin correspondiente."?

Gracias NSlaver por el interes de tratar ayudar a resolver este problema. El dilema es el siguiente:
necesita q al correr el programa salga algo parecido a la imagen se esta usando.

Aun no consigue el loop (for o while) para hacer eso. Osea el contar todos los pixels q caen en esos intervalos.

Bin 0 - 15: 16063 pixels
Bin 16 - 31: 42619 pixels
Bin 32 - 47: 38273 pixels
Bin 48 - 63: 36458 pixels
Bin 64 - 79: 33689 pixels
Bin 80 - 95: 20768 pixels
Bin 96 - 111: 16061 pixels
Bin 112 - 127: 13983 pixels
Bin 128 - 143: 12723 pixels
Bin 144 - 159: 11534 pixels
Bin 160 - 175: 10384 pixels
Bin 176 - 191: 9368 pixels
Bin 192 - 207: 8314 pixels
Bin 208 - 223: 7771 pixels
Bin 224 - 239: 9114 pixels
Bin 240 - 255: 20078 pixels

bueno compadre segun lo poco que entiendo de tu problema es saber en que rango debes sumar.. si este es el caso.
pues utiliza esto


IF(condicion){
//codigo si se cumple la condicion
}else{
//codigo si no se cumple la condicion
}

en tu caso :
el 1er intervalo es de 0-15, seria algo asi.
if(pixels<=16063){
//guardas en la posicion q corresponde
arr [0]=arr [0]+1;
}else{
if(pixels>16063 && pixels<=42619){
arr [1]=arr [1]+1;
}else{
.....
}
}

el && es un operador logico equivale a un Y, con este tipo de operador se cumple siempre y cuando las dos condiciones sean verdaderas. osea si el pixels es >16063 y el pixels es<=42619

Espero q sea de tu ayuda...si no es la respuestas q esperabas pues explicalo bn y con gusto te ayudare.. claro hasta donde pueda..
 
[RESUELTO] Ejecutar archivo .pl (perl) y .swf (flash) desde Java

Pos bro yo he trabajado poco, invocando servicios, pero me imagino que debe ser algo mas complejo........ no se bro creo que debe haver un api, o una orden dentro del Java.io para ejecutar ficheros con el programa predeterminado....Toca seguir viendo....

Listo!! ya lo logre hacer, y no es tan complejo ;) yo sabia que había visto algo parecido por ahí :-p

Para ejecutar el archivo de perl es:

Código:
Process proceso = Runtime.getRuntime().exec("/usr/bin/perl -w archivo.pl");

y para ejecutar el .swf con firefox es:

Código:
proceso = Runtime.getRuntime().exec("firefox archivo.swf");

y listo =) espero le sirva a alguien mas ;)

Saludos
 
Que tal

Estoy haciendo un programita sencillo que carga unos datos de configuración de un archivo properties y todo va bien.
El problema es que cuando trato de empaquetar la vaina en un jar ejecutable no logra encontrar el archivo...
Este archivo debe estar fuera del jar para permitir la configuración del sistema sin tener que reempaquetar el jar.

lo que estoy haciendo es
Código:
File f = new File( "data/config.properties" );
InputStream is = new FileInputStream( f );

Otro problema es que necesito que el programa sea ejecutable desde el jar (el jar se construye con un ant) y desde eclipse.

Alguna sugerencia?
 
Muy interesante el foro, primera vez que le doy una leida, ahora si que me estoy volviendo adicto a LANeros.

Pd:apenas estoy aprendiendo manejo de archivos.
 
Listo!! ya lo logre hacer, y no es tan complejo ;) yo sabia que había visto algo parecido por ahí :-p

Para ejecutar el archivo de perl es:

Código:
Process proceso = Runtime.getRuntime().exec("/usr/bin/perl -w archivo.pl");
y para ejecutar el .swf con firefox es:

Código:
proceso = Runtime.getRuntime().exec("firefox archivo.swf");
y listo =) espero le sirva a alguien mas ;)

Saludos

hey muy buen dato bro... me sirve mucho.

Una cosa mas laneros, sigo trabado con lo del sonido, como le hago necesito sonidos para mi juego, pero solo me corren sonidos en applets no en funcionales...alguna idea...os la agradeceria.