Você está na página 1de 10

Introduo Programao

Um enfoque orientado a construo de modelos em programas baseados em objetos

Departamento de Informtica - UFPB

Gustavo Motta

8. Manipulao de Strings

A classe String
Usada para representao e manipulao seqncias de caracteres
Inclui

mtodos teis para teis para processamento de textos

Tamanho do string, i. e., a quantidade de caracteres armazenados Caractere existente numa dada posio do string

Java.lenght() 4 Java.charAt(0) J Java.charAt(2) v Java.charAt(4)


java.lang.StringIndexOutOfBoundException

Java.toCharArray() {J,a,v,a}

Construo

de instncias da classe String

String curso = Cincia da Computao; String curso = new String(Cincia da Computao); char[] caracteres = {C,i,,n,c,i,a, , (C) 2008 Gustavo Motta 2 d,a, ,C,o,m,p,u,t,a,,,o};

8. Manipulao de Strings

A classe String
Exemplo Jogo da Forca
1.

Inicializa-se um string com palavra a ser adivinhada e cria-se

um array de booleanos, cada posio correspondendo a um caractere da palavra, inicializada com false, para indicar que nenhum caractere foi adivinhado. Inicializa-se um array de 26 posies booleanas para indicar as letras que j foram utilizadas
2.

Mostra-se para o usurio quais letras j foram adivinhadas e Pede-se para o usurio entrar com uma letra, que includa

quais letras j foram utilizadas


3.

no rol das letras usadas e marca-se a letra nas posies correspondentes da palavra a ser adivinhada, se pertinente
(C) 2008 Gustavo Motta 3

Caso

todas as letras da palavra tenha sido adivinhada, ento o

8. Manipulao de Strings

A classe String
Mtodos para comparao de string
Strings

no devem ser comparados com == por que?

String curso = Computao; Computao.equals(curso) true computao.equals(curso) false curso.equals(Computao) true curso.equals(Comuptao) false curso.equals(curso) true Computao.equalsIgnoreCase(curso) true cOmPutaO.equalsIgnoreCase(curso) true curso.equalsIgnoreCase(cOmPutaO) true curso.equalsIgnoreCase(cOmPuta) false curso.equalsIgnoreCase(curso) true
(C) 2008 Gustavo Motta 4

8. Manipulao de Strings

A classe String
Mtodos para comparao de strings
Considerando

apenas o incio ou o fim do string

String curso = Computao; curso.startsWith(Comp) true curso.startsWith(comp) false curso.startsWith(Computao) true curso.startsWith(Computaoo) false curso.startsWith() true curso.endsWith(ao) true curso.endsWith(Ao) false curso.endsWith(Computao) true curso.endsWith(Computaoo) false curso.endsWith() true
(C) 2008 Gustavo Motta 5

8. Manipulao de Strings

A classe String
Mtodos para procura de substrings
Verificar

se um string contm outro string

String curso = Computao; curso.indexOf(ao) 6 curso.indexOf(o) 1 curso.indexOf(uta) 4 curso.indexOf(cao) -1 curso.indexOf() 0 curso.indexOf(Comp) 0


(C) 2008 Gustavo Motta 6

8. Manipulao de Strings

A classe String
String

Mtodos para transformao de strings


em Java so imutveis
A modificao de um string , de fato, a criao de um novo string, numa verso transformado do string anterior

Os mtodos de de processamento de string podem ser combinados curso = Cincia da .concat(curso);


curso = Cincia da .concat(curso);

String curso = Computao ;

curso.toLowerCase() cincia da computao curso.trim() Cincia da Computao curso.replace( , -) -Cincia-da-Computao- curso.substring(12) Computao curso.substring(12, 16) Comp curso.substring(16, 12)
java.lang.StringIndexOutOfBoundsException 7

curso.toUpperCase().trim().substring(12DA OMPUTAO curso.toUpperCase() CINCIA ) COMPUTAO


curso.substring(16, curso.length()) java.lang.StringIndexOutOfBoundsException curso.substring(16, (C) 2008 Gustavo Motta

8. Manipulao de Strings

A classe String
Converte

Mtodos para converso de tipos com strings


valores de tipos nativos para strings e vice-versa
Tipos nativos para String

String.valueOf(10) 10 String.valueOf(15.4) 15.4 String.valueOf(v) v

char[]

carac = {'J', 'a', 'v', 'a'}; String.valueOf(carac) Java;


String para tipos Nativos

Interger.parseInt(10) 10 Float.parseFloat(3.2383) 3.2383 Integer.parseInt(10.33) java.lang.NumberFormatException


(C) 2008 Gustavo Motta Float.parseFloat(3.2a383) 8

java.lang.NumberFormatException

8. Manipulao de Strings

A classe StringBuffer
Permite criao e manipulao de strings modificveis
Lembre

que instncia da classe String so imutveis

A criao de instncias de StringBuffer mais custosa que a criao de instncias da classe String, porm a manipulao bem mais eficiente Instncias da classe StringBuffer tm duas variveis de instncia do tipo inteiro associadas
Uma

para indicar o comprimento do string, isto , a quantidade para indicar a capacidade, que corresponde ao nmero

de caracteres armazenados num dados momento


Outra

mximo de caracteres que podem ser armazenados pela instncia num dado momentoMotta (C) 2008 Gustavo
A capacidade pode ser expandida automtica ou manualmente
9

8. Manipulao de Strings

A classe StringBuffer
StringBuffer str = new StringBuffer(50); StringBuffer str = new StringBuffer(Java); str.append( ); str.append(Language ); str.append(10); System.out.println(str); Java Language 10 str.insert(14, ); System.out.println(str); Java Language 10 str.delete(5, 13); System.out.println(str); Java 10 str.reverse();
(C) 2008 Gustavo Motta 10

System.out.println(str); 01 avaJ

Você também pode gostar