O documento discute a classe StringBuilder para manipular strings dinâmicas, métodos para trabalhar com caracteres como Character.isDefined() e expressões regulares para validar dados de entrada como nome e telefone.
1. Faculdade de Filosofia Ciências e Letras de Caruaru
Professor: Douglas Frari
Curso: Análise e Desenvolvimento de Sistemas
StringBuilder, Caracteres e expressões
regulares.
Alunos: Gabriel Matheus da Silva
Sidney P. da Cruz Filho
2. Classe StringBuilder
StringBuilder é uma classe para criar e manipular informações
de string dinâmica, isto é, Strings modificáveis.
Cada StringBuilder é capaz de armazenar um número de caracteres
especificado pela sua capacidade.
Se a capacidade de um StringBuilder for excedida, a capacidade se
expande para acomodar os caracteres adicionais.
A Classe StringBuilder fornece os métodos length e capacity para
retornar o número de caracteres atualmente em um StringBuilder e o
número de caracteres que pode ser armazenado em um StringBuilder
sem alocar mais memória, respectivamente.
O Método ensureCapacity garante que um StringBuilder tenha pelo
menos a capacidade especificada. O Método setLength aumenta ou
diminui o comprimento de uma StringBuilder.
3. Métodos StringBuilder
length - Retorna o número de caracteres
atualmente em um StringBuilder;
capacity – Retorna o número de caracteres que
pode ser armazenado em um StringBuilder sem
alocar mais
memória;
ensureCapacity – Garante que um StringBuilder
tenha pelo menos a capacidade especificada;
setLength – Aumenta ou diminui o comprimento
de uma StringBuilder;
4. Classe Character
Demostra métodos static que testam caracteres para determinar se eles são um
tipo específico.
É definido em caracteres Unicode: (Character.isDefined)
É dígito Unicode: (Character.isDigit)
É o primeiro caractere de um identificador em java:
(Character.isJavaIdentifierStart)
Caractere pode ser usado em um identificador em java:
(Character.isJavaIdentifierPart)
Verifica se é uma letra: (Character.isLetter)
Verifica se é letra ou dígito: (Character.isLetterOrDigit)
Verifica se é maiúsculo: (Character.isUpperCase)
Transforma minúsculo para maiúsculo: (Character.toUpperCase)
Verifica se é minúsculo : (Character.isLowerCase)
Transforma maiúsculo para minúsculo: (Character.toLowerCase)
5. Classe Character
Testando... Primeira parte do código
public class MetodosChar {
public static void main(String[] args) {
Scanner entrada = new Scanner(System.in);
System.out.println("Entre com o caracter e aperte enter: ");
String dado = entrada.next();
char c = dado.charAt(0);
System.out.println(c);
System.out.println("É definido em caracteres Unicode:
"+Character.isDefined(c));
System.out.println("É dígito Unicode: "+Character.isDigit(c));
6. Classe Character
System.out.println("É o primeiro caractere de um identificador em
java:"+Character.isJavaIdentifierStart(c));
System.out.println("Caractere pode ser usado em um identificador em java:
"+Character.isJavaIdentifierPart(c));
System.out.println("É uma letra: "+Character.isLetter(c));
System.out.println("É letra ou dígito: "+Character.isLetterOrDigit(c));
System.out.println("É maiúsculo: "+Character.isUpperCase(c));
System.out.println("Para maiúsculo: "+Character.toUpperCase(c));
System.out.println("É minúscula: "+Character.isLowerCase(c));
System.out.println("Para minúsculo: "+Character.toLowerCase(c));
}
}
Segunda parte do código
8. Classe Character
Caracter digit e forDigit
Converte de número(digito) para Caractere: Character.forDigit
Ex: System.out.println("Sua letra: "+Character.forDigit(10, 16));
O 10 vai ser o dado que será convertido e o 16 é a base do
número (16 = hexadecimal)
Resposta: Sua letra: a
Converte de Caractere para número(digito): Character.digit
Ex: char letra= 'a';
System.out.println("Seu número: "+Character.digit(letra, 16));
Letra recebe ‘a’ e o 16 é a base do número (16 = hexadecimal)
Resposta: Seu número: 10
9. Tokenização de Strings
Método split da classe String, que divide uma String em seus tokens componentes
import java.util.Scanner;
public class Tokens {
public static void main(String[] args) {
Scanner entrada = new Scanner(System.in);
System.out.println("Entre com o senteca e aperte enter: ");
String sentence = entrada.nextLine();
String[] tokens = sentence.split(" ");
System.out.println("Número de tokens/elementos: "+tokens.length);
for(String token: tokens){
System.out.println(token);
}
}}
11. Expressões regulares
O método String matches recebe uma String que especifica a expressão regular e
localiza o conteúdo do objeto String em que ele é chamado na expressão regular.
Caractere
Correspondência
s Caractere
Correspondência
s
d Qualquer dígito D Qualquer não
dígito
w Qualquer caractere
de palavra
W Qualquer caractere
não palavra
s Qualquer caractere
de espaço em
branco
S Qualquer caractere
não espaço em
branco
12. Expressões regulares
Primeira parte do código
public class TesteDados {
public static void main(String[] args){
Scanner entrada = new Scanner(System.in);
System.out.println("Entre com nome: ");
String primeiroNome= entrada.nextLine();
System.out.println("Entre com telefone: ");
String telefone= entrada.nextLine();
if ( !validarPrimeiroNome(primeiroNome))
System.out.println("Não é válido ~PRIMEIRO NOME");
else if (!validarTelefone(telefone))
System.out.println("Não é válido ~TELEFONE");
13. Expressões regulares
Segunda parte do código
else
System.out.println("Está cadastrado com SUCESSO!");
}
public static boolean validarPrimeiroNome(String primeiroNome){
return primeiroNome.matches("[A-Z][a-z]*");
}
public static boolean validarTelefone(String telefone){
return telefone.matches("d{2}-[1-9]*");
}
}