Problemas C, F y G
/*
* Created on 06/25/2005
*
* Esta clase fue probada con JUNIT, usando TDD
* Si desea ver los test, dejar un comentario
*/
package estructura.examen;
/**
* @author vns
*
*/
public class ManejoString {
/**
*
*/
public ManejoString() {
super();
}
/**
* F) Busca un substring en un string dado
*
* @param string
* @param retorno
* @param i
* @param len
*/
public static void subStr(String string, String r, int ind, int len) {
//TODO terminar test
for (int i = ind ; i < ind + len; i++) {
r = r + string.charAt(i);
}
}
/**
* G) Busca la posicion de una Subcadena dentro de otra,
* y si no se encuentra retorna 0
*
* @param string
* @param substring
*/
public static int find(String string, String substring) {
int cont = 0;
//primera manera de hacerlo
/*for (int i = 0; i < string.length(); i++) {
if ( string.charAt(i) == substring.charAt(0) )
for (int j = 0, pos = i; j < substring.length(); j++, pos++){
if ( string.charAt(pos) == substring.charAt(j) ){
cont++;
}else{
cont = 0;
break;
}
if (cont == substring.length()) {
return i;
}
}
}*/
// Segunda manera de hacerlo
for (int j = 0, pos = j; j < string.length(); j++){
if ( string.charAt(j) == substring.charAt(pos) ){
pos++;
cont++;
}else{
pos = 0;
cont = 0;
continue;
}
if ( cont == substring.length()) {
return j - cont + 1;
}
}
return 0;
}
/**
* C) Función length usando for
*
* @param string
* @return
*/
public static int lentghWithFor(String string) {
int i = 0;
for (;;) {
try {
string.charAt(i);
i++;
} catch (StringIndexOutOfBoundsException e) {
return i;
}
}
}
/**
* C) Función length usando While
*
* @param string
* @return
*/
public static int lentghWithWhile(String string) {
int i = 0;
while(true) {
try {
string.charAt(i);
i++;
} catch (StringIndexOutOfBoundsException e) {
return i;
}
}
}
}
0 Comments:
Post a Comment
<< Home