Foros aprenderaprogramar.com
Aprender a programar => C, C++, C#, Java, Visual Basic, HTML, PHP, CSS, Javascript, Ajax, Joomla, MySql y más => Mensaje iniciado por: 0skar en 05 de Abril 2016, 12:55
-
Buenos días, estoy empezando poquillo a poco con esto de JAVA. Estoy haciendo un ejercicio de una vez introducida una frase, que me imprima cada palabra en una linea. Sin embargo con frase.charAt(i) lo que hace es imprimirme cada letra en una linea diferente. Que sería lo equivalente a charAt para que en vez de caracteres tomase una palabra entera?
Muchas gracias!
-
Hola Oskar!
Para tomar palabras enteras tendrías que dividir la cadena tomando como carácter de separación el espacio. No es difícil, se puede hacer de varias maneras (con métodos de la clase String, con expresiones regulares, etc.).
Una idea puede ser esta:
import java.util.Scanner;
public class MiddleNameTest {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String full_Name = scanner.nextLine();
scanner.close();
String middleName = full_Name.split(" ")[1].trim();
System.out.println(middleName);
}
}
Otro ejemplo
String s = "This is a sample sentence.";
String[] words = s.split("\\s+");
for (int i = 0; i < words.length; i++) {
// You may want to check for a non-word character before blindly
// performing a replacement
// It may also be necessary to adjust the character class
words[i] = words[i].replaceAll("[^\\w]", "");
}
Para el aprendizaje de Java te recomiendo seguir este curso paso a paso: http://aprenderaprogramar.com/index.php?option=com_content&view=category&id=68&Itemid=188
Saludos!