Apenas empiezo Java manejando el IDE NetBeans y resulta que nos han puesto a trabajar un programa que:
"Evalúe una frase ingresada por consola y me devuelva las posiciones donde están ubicadas ciertas palabras".
Supongamos que quiero encontrar la palabra "zapato", entonces yo ingreso: "quiero mi zapato" me debe devolver algo como: "La palabra 'zapato' está en la posición 10", esto lo hago con la orden indexOf que me resulta muy sencillo. Pero ¿si hay varias palabras?¿o si quiero encontrar más palabras y están en distintas posiciones? supongamos, quiero encontrar:"zapato","chaleco","camisa" y "medias" si ingreso una de ellas quiero saber la posición (número) donde está, pero también si hay 3 veces "zapato" o si hay 2 veces "camisa", etc. me debe devolver las posiciones. En fin me puse a trabajar el código y di con esto:
Código PHP:
public class programa {
public static void main(String args[]) {
String frase = new String();
int buzap = 0, bucam = 0, bumed = 0, bucha = 0, bupan = 0;
int var = 0;
Scanner test = new Scanner(System.in);
System.out.println("Insertar un texto: ");
frase = test.nextLine();
for (int i = 0; i < 10; i = i + 0) {
buzap = frase.indexOf("zapato", buzap);
bucam = frase.indexOf("camisa", bucam);
bumed = frase.indexOf("media", bumed);
bucha = frase.indexOf("chaleco", bucha);
bupan = frase.indexOf("pantalón", bupan);
if (buzap > -1) {
var = buzap;
buzap = buzap + 1;
}
//Esta misma condición aplicaria para 'bucam', 'bumed', 'bucha', 'bupan' //
else {
break;
}
}
}
}
Si ven el code estoy guardando todo en la misma variable, lo cual es inútil, la otra forma seria colocar un System.out.println después de la línea "var = buzap" pero si hago esto estaría haciendo algún tipo de 'SPAM', lo que quiero es que al final me diga la posición de las palabras si se ingresó... Como verán soy nuevo en esto, he entendido hasta cierto punto y por esto comento mi duda. Gracias
