Ver Mensaje Individual
  #2 (permalink)  
Antiguo 26/09/2006, 07:48
cryptex
 
Fecha de Ingreso: septiembre-2006
Mensajes: 32
Antigüedad: 17 años, 7 meses
Puntos: 0
re: buscando el rut

hola,

bueno, varias cosas.. tu mensajes no es muy claro. si lo que quieres es encontrar la cadena especifica que este en tu arreglo "rut". tu ciclo esta revisando todas y obtiene solo la ultima posicion. ademas, la funcion indexOf me obtiene la posicion en el String, de lo que estoy buscando, no la posicion en tu arreglo. lo que esta en negrita son varios cambios que hice: reponde si eso es lo que querias o explicate mejor.

saludos,

import java.util.*;

import java.io.*;


class Test{

public static void main(String arg[]){


try{

String lin,l;



String rut[]= {"14985365-7","12478965-8","6257865-8","11789365-4","7854369-K"};

String descuento[]={"C1 5%","C2 10%","C3 15%","C4 20%"};

String productos[]={"P-1 $1000","P-2 $2000","P-3 $3800","P-4 $4600"};

int r=0,i;



BufferedReader bf;


bf = new BufferedReader(new InputStreamReader(System.in));


System.out.println("Ingrese cliente, rut, tipo cliente, tipo producto y cantidad\n Ejemplo:\nPamela Soto 14985365-7 C1 P-3 7 ");

lin = bf.readLine();
r=-1; // debe iniciar en -1 porque no ha encondrado nada valido
for(i=0; i<rut.length; i++)
{

l=rut[i];
r = lin.indexOf(l);
if(r!=-1)
break; // si encuentra la posicion termine el ciclo


}
// crear un separador de string con la cadena que necesito a partir de la posicion r
StringTokenizer tokens=new StringTokenizer(lin.substring(r));

//imprima mi cadena hasta el proximo espacio en blanco

System.out.println("Rut es igual a: " + tokens.nextToken(" "));
//arrojara una excepcion si no encontro ningun rut valido.
}catch (IOException e){

System.out.println("Error en Ingreso de Teclado");

}

}

}