Buscar
Social
Ofertas laborales ES

Foro sobre Java SE > Engañar al método main

¿Se puedo forzar al método main para "agarrar" el valor de una de sus variables?, ¿de tal forma que la variable global public static String contenidoExtraido; tenga el mismo valor que la variable local StringBuilder contenidoExtraido = extraerTexto(capturarTextoDeArchivo()); del método main?

import java.io.*;
public class extraeComentario {
public static String contenidoExtraido;

public void main(String[] args) {
StringBuilder contenidoExtraido = extraerTexto(capturarTextoDeArchivo());
}
...

julio 10, 2012 | Registered Commentereddsac

Como public static String contenidoExtraido; es publica y estática, puedes acceder a ella directamente:

extraeComentario.contenidoExtraido = contenidoExtraido.toString();

Pero intenta no usar el mismo nombre.

julio 10, 2012 | Registered CommenterUnai Valle

No entiendo por qué quieres "engañar" al main, aparte de que no se puede.
main(String[] args) solamente se usa para iniciar la aplicación, y normalmente solo debe haber uno en la aplicación.

Si lo que quieres es devolver un valor desde una clase, lo que debes es crear un método que lo devuelva, sin más.

public class ExtraeComentario {

public StringBuilder getComentario() {
return extraerTexto(capturarTextoDeArchivo());
}

En otra clase cualquiera, que tenga una dependencia declarada respecto de ExtraeComentario:

ExtraeComentario extraeComentario = new ExtraeComentario().
StringBuilder comentario = extraeComentario.getComentario();

julio 10, 2012 | Registered Commenterchoces

Quizás te venga bien dar un buen repaso a estos conceptos:

http://docs.oracle.com/javase/tutorial/java/javaOO/classes.html

julio 10, 2012 | Registered Commenterchoces

Hey! @Unai Valle & @choces..., lo arreglo y publico la solución... Saludos

julio 10, 2012 | Registered Commentereddsac

listo @choces! Así era, ni (+) ni (-)

julio 10, 2012 | Registered Commentereddsac