Java - problemas con salto de linea java

 
Vista:

problemas con salto de linea java

Publicado por melly (1 intervención) el 20/10/2011 05:08:37
estoy haciendo una especie de compilador donde tengo un editor (un jtext area) y el codigo ingresado es compilado tomando como <<comentario>> toda linea de código que comience con el símbolo '$' entonces en otro jtextarea coloco lo que es código sin comentarios. mi problema es que cuando se ingresa:
$comen1
$comen2
$comen3
$comen4
cod1
cod2

deberia obtener: comentarios: comen1 comen2 comen3 comen4 y el resto: cod1 cod2 como codigo.
El problema es si toma los otros como codigo pero solo lee como comentario comen1 y comen3 ignorando los intermedios.
si ingreso:
$comen1

$comen2

$comen3

$comen4
cod1
cod2

Entonces si los lee todos correctamente.
Me dijeron que probablemente el salto de linea estuviera evitando leer el caracter de la siguiente linea pero no puedo alterar el codigo original (eliminando los saltos) solo eliminar esos comentarios, ya que al final debo mostrar el codigo tal cual fue escrito.
Aqui les dejo el codigo a ver si alguien me puede ayudar:

contenido=jTextarea.getText();
if(contenido.length()==0){
JOptionPane.showMessageDialog(null,"El Editor está Vacio!");
}else{
TaComent.setModel(modelo);

for(int i=0; i<contenido.length(); i++){
TaComent.setModel(modelo);
caract=contenido.charAt(i);

if(caract=='$'){
if(inicio==false){
inicio=true;
pos1=i;
//compruebo el inicio de un comentario
}else{
pos2=i;
lc=pos2-pos1;
inicio=false;
//compruebo el caracter de cierre de comentario en caso de que ya se haya iniciado;
}
}else{
if((inicio==true)&&(caract=='\n')){
pos2=i;
lc=pos2-pos1;
inicio=false;
//compruebo el fin del comentario mediante un salto de linea en lugar de un caracter
}
}

if(pos2!=0){

comentario=contenido.substring(pos1,pos2+1);

contenido=contenido.replace(comentario, "");
//elimino el comentario encontrado en la cadena

pos2=0;
inicio=false;
//reinicio las variables


}



}

jTextarea2.setText(contenido); //muestro el contenido sin comentarios
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder