Sobre este assunto como no capítulo do livro, sobre “Parsing, Tokenizing, and Formatting” tive dificuldade no começo em responder logo a 1ª pergunta do mesmo livro mencionado no capítulo 6, dá página 493. Segue abaixo:
[code]
import java.util.regex.*;
class Regex2 {
public static void main(String[] args) {
Pattern p = Pattern.compile(args[0]);
Matcher m = p.matcher(args[1]);
boolean b = false;
while(b = m.find()) {
System.out.print(m.start() + m.group());
}
}
}
[/code][quote]
And the command line:
java Regex2 "\d*" ab34ef
What is the result?
A. 234
B. 334
C. 2334
D. 0123456
E. 01234456
F. 12334567
G. Compilation fails.[/quote]
Errei duas vezes seguidas, e só consegui entender então quando botei para rodar, mesmo tendo lido o capítulo todo. Acho que eu não estava em um dia de sorte.
Acho que quanto a este assunto é quase certo cair uma questão deste tipo, ainda ressaltando os quantificadores: [?, *, e +] em junção das classes Matcher e Pattern, ou talvez abordando o uso do Scanner, assim como o uso dos métodos printf/format.
Achei interessante também a questão 9:
[quote]Which will compile and run without exception? (Choose all that apply.)
A. System.out.format("%b", 123);
B. System.out.format("%c", “x”);
C. System.out.printf("%d", 123);
D. System.out.printf("%f", 123);
E. System.out.printf("%d", 123.45);
F. System.out.printf("%f", 123.45);
G. System.out.format("%s", new Long(“123”));
[/quote]
Mais uma vez redobrar a atenção. Aparentemente parece complicado, mas só a prática, no código mesmo, o levará a ótimas conclusões. Mãos à obra!!!
