Prévia do material em texto
LINGUAGEM DE PROGRAMAÇÃO – PROF. EDIBERTO MARIANO
1
STRINGS e Métodos da Classe java.text.NumberFormat
Manipulação de Strings
- Strings são seqüências de caracteres como “tudo bem ?”. Não há um tipo String em JAVA, e sim uma
classe predefinida chamada String, que faz parte do pacote padrão de Java. Cada conjunto de
caracteres entre aspas é uma instância da classe String:
String e = “”; //uma string vazia
String saudacoes = “Olá”;
Métodos da Classe java.lang.String
- A classe java.lang.String possui muitos métodos (verifique na referência da linguagem).
Seguem os mais interessantes:
o charAt(int indice)
//retorna o caractere na posição especificada
o int compareTo(String outraString)
//retorna um valor negativo se a string vier antes de outraString na
//ordem do dicionário, um valor positivo se outraString vier antes e
//0 (zero) caso forem iguais
o boolean endsWith(String sufixo)
//retorna true se a string terminar com sufixo
o boolean equals(String outra)
//retorna true se a string for igual à outra
o boolean equalsIgnoreCase(String outra)
//retorna true se a string for igual à outra, ignorando maiúsculas e
//minúsculas
o String toLowerCase()
//retorna uma nova string convertendo maiúsculas para minúsculas
o String toUpperCase()
//retorna uma nova string convertendo minúsculas para maiúsculas
o String trim()
//elimina espaços iniciais e finais
LINGUAGEM DE PROGRAMAÇÃO – PROF. EDIBERTO MARIANO
2
public class Ex07
{ public static void main(String[] args)
{ String A = " LINGUAGEM ";
String B = " JAVA ";
System.out.println("Resposta = "+A” “ +B);
} }
Resposta: LINGUAGEM JAVA
Substrings
- Java possui um método para se obter um subconjunto de uma string, que é o método
nomestring.substring(posicaoinicial, posicaolimite)
onde:
o posicaoinicial é a primeira posição a ser inclusa na substring
o posicaolimite a posição imediatamente posterior a última a ser inclusa.
- Lembre-se que em JAVA conta-se a partir do 0 (zero), ou seja, a primeira posição de uma string é a
posição 0.
String saudacao = “Bem vindo”;
String s = saudacao.substring(0, 3); //s = “Bem”
Edição de Strings
- Para descobrir o tamanho de uma string, usa-se o método nomestring.length():
String saudacao = “Bem vindo”;
int tamanho = saudacao.length(); //tamanho = 9
Teste de Igualdade entre Strings
- Para testar se duas strings são iguais, usa-se nomestring1.equals(nomestring2). O valor
true será retornado se forem iguais. Ex:
String saudacao = “Bem vindo”;
boolean igual = “Bem vindo”.equals(saudacao);
//igual = true
CONCATENAÇÃO
String uniao = “use o sinal de + para ” + “concatenar Strings”;
Exemplo:
Codifique um programa em JAVA que:
a) Atribua a uma variável A tipo String a letra "LINGUAGEM".
b) Atribua a uma variável B tipo String a palavra "JAVA".
c) Exiba na tela o conteúdo das duas variáveis concatenadas
LINGUAGEM DE PROGRAMAÇÃO – PROF. EDIBERTO MARIANO
3
- Para testar se duas strings são iguais ignorando maiúsculas e minúsculas, usa-se
nomestring1.equalsIgnoreCase(nomestring2).
Não use o operador ‘==’ para testar se duas strings são iguais!
SUFIXO
o boolean endsWith(String sufixo)
//retorna true se a string terminar com sufixo
MAIÚSCULA PARA MINÚSCULA
o String toLowerCase()
//retorna uma nova string convertendo maiúsculas para minúsculas
MINÚSCULA PARA MAIÚSCULA
o String toUpperCase()
//retorna uma nova string convertendo minúsculas para maiúsculas
ELIMINA ESPAÇOS INICIAIS E FINAIS EM UMA STRING
o String trim()
//elimina espaços iniciais e finais
Métodos da Classe java.text.NumberFormat:
- A classe NumberFormat do pacote java.text (é necessário importar este pacote) possui três
métodos para formatar números, valores monetários e valores percentuais. A localização é o conjunto
de propriedades específicas de cada país sobre strings e números, como símbolo de moeda, separador
decimal, etc. Para obter um formatador para a localização padrão, use:
NumberFormat.getNumberInstance()//Números
NumberFormat.getCurrencyInstance() //Moeda
NumberFormat.getPercentInstance() //Percentual
o static NumberFormat getNumberInstance()
LINGUAGEM DE PROGRAMAÇÃO – PROF. EDIBERTO MARIANO
4
//retorna um objeto NumberFormat para formatar números usando as convenções locais.
//Podemos especificar o número minimos e máximo de dígitos inteiros ou fracionários
import java.text.NumberFormat; Este pacote é necessário ser importado
//Podemos especificar o número minimos e máximo de dígitos inteiros
//ou fracionários
import java.text.NumberFormat;
public class Ex02
{ public static void main(String[] args)
{double x = 10000.0/3.0;
NumberFormat nf = NumberFormat.getNumberInstance();
//O ultimo dígito é arredondado para cima se for maior ou igual a cinco
nf.setMaximumFractionDigits(2); //string "3.333,33"
// nf.setMinimumFractionDigits(1); //string "3.333,333"
// nf.setMinimumIntegerDigits(6);//string "003.333,33"
nf.setMinimumIntegerDigits(0);
String fx = nf.format(x); //string "3.333,33"
System.out.println("Valor formatado" +fx);
}}
Resposta: Valor formatado = 003.333,33
NumberFormat.getCurrencyInstance() //Moeda
Retorna um objeto NumberFormat para converter valores de moeda em strings usando as
convenções locais.
import java.text.NumberFormat;
public class Ex04
{ public static void main(String[] args)
{double x = 10000.0/3.0;
NumberFormat nf = NumberFormat.getCurrencyInstance();
String fx = nf.format(x); //string "R$ 3.333,333"
System.out.println("Valor formatado = " +fx); }}
Resposta: Valor formatado = R$ 3.333,33
LINGUAGEM DE PROGRAMAÇÃO – PROF. EDIBERTO MARIANO
5
OBS.: É possível também criar uma formatação pessoal através do objeto DecimalFormat
import java.text.DecimalFormat; //Este pacote é necessário ser importado
public class Ex03
{ public static void main(String[] args)
{double x = 10000.0/3.0;
DecimalFormat df = new DecimalFormat("###,###.##");
String dx = df.format(x); // String "33.333,33"
System.out.println("Valor formatado =" +dx);}}
Resposta: Valor formatado = 33.333,33
Tabela com os caracteres que podem ser usados no DecimalFormat:
Símbolo Significado
0 Um dígito
# Um dígito; não mostra se for um zero na frente ou no fim.
. (ponto) Localização de separador decimal
, (vírgula) Localização de separador de grupo
; (pto. e vírgula) Separa formatos de números positivos e negativos
- (sinal de menos) Prefixo negativo
% (percentual) Multiplica por 100 e mostra na forma percentual
Outro símbolo Inclui o símbolo na string de saída
Exemplos:
String de Formatação Número Explicação
,##0.00 1,234.50 Dois dígitos depois do separador decimal;
mostra os zeros na frente. Separa os
grupos dos milhares com vírgulas. Se o
número for < 1, mostra zeros na frente.
$,##0.00;($,##0.00) ($1,234.50) Números negativos entre parênteses em
vez de usar o sinal de menos; insere $.
0.###### 1234.5 Se número entre –1 e 1 mostra zero na
frente. Não mostra zeros no final.
LINGUAGEM DE PROGRAMAÇÃO – PROF. EDIBERTO MARIANO
6
- DecimalFormat funciona bem para formatar valores monetários. Não é adequada para notaçãocientífica, tabelas com colunas de largura fixa ou números em formato hexadecimal ou octal.
o static NumberFormat getPercentInstance()
// retorna um objeto NumberFormat para converter percentuais em strings
o void setMaximumFractionDigits(int digitos)