Buscar

LPOO I - Strings Entrada e Saida

Prévia do material em texto

Linguagem de Programação 
Orientada a Objetos I
Marcos Lapa dos Santos
marcoslapa@fib.br
___________________________________________________
LPOO I
Manipulando Strings
___________________________________________________
LPOO I
Por que tratar a String de forma diferente?
• String não é um tipo primitivo do Java! Ela representa 
uma seqüência de caracteres UNICODE imutável. 
• Cada operação feita em cima de uma String, na realidade 
foi feita em cima de uma cópia da variável.
• Uma String pode possuir caracteres escape: ex: \n \t \r, 
esses caracteres servem para indicar um enter, um tab, até
a própria \ (\\) dentro da String.
• String é uma classe no Java (possui métodos e atributos –
discutiremos mais sobre classes no decorrer da nossa 
disciplina).
___________________________________________________
LPOO I
Manipulação de Strings
• Para declararmos uma variável do tipo String usamos o 
seguinte:
– String f = “FIB”;
– String c = “Centro Universitário”;
• De posse destas variáveis podemos atuar sobre seus 
conteúdos modificando, concatenando, extraindo partes 
destas strings... Seguem alguns exemplos:
– String r = f+c; // Resultado r = “FIBCentro Universitário”
– String fib = f + “ - ” + c; // Resultado r = “FIB - Centro Universitário”
– String s = c.substring(7); // Resultado s = “Universitário”
– String s = c.substring(0,6); // Resultado s = “Centro”
– int i = c.indexOf(“U”); // Resultado i = 7
___________________________________________________
LPOO I
Manipulação de Strings
Indica se existe uma String dentro de outra retornando o 
seu índice, caso contrário retorna -1
int indexOf(String str)
Verifica se são iguais e retorna um boolean.boolean equals(object)
Alguns métodos da classe String
Transforma uma string num array do tipo string[], com base 
em um caracter delimitador.
String[] split(String ch)
Obtém uma parte de uma string compreendida entre Índice 
Inicial e Índice Final. Caso o índice final não seja informado 
obtém ao valor desde o índice inicial até o fim da String.
String substring(int 
indiceInicial [, int 
indiceFinal])
Indica se a string começa ou termina com caracteres 
específicos.
boolean startsWith() e 
endsWith()
Retorna o caracter que está localizado em um determinado 
índice.
char charAt(int)
Verifica se são iguais independente de maiúsculas e 
minúsculas e retorna um boolean.
boolean
equalsIgnoreCase(string)
Compara uma String com outra retornando 0 caso sejam 
iguais.
int compareTo(string)
___________________________________________________
LPOO I
Leitura de Dados (Entrada)
___________________________________________________
LPOO I
Lendo dados da console
• Aplicações console são aquelas onde a interação com o 
mundo externo se dá baseada em digitações na linha de 
comando.
• Até a versão JDK 1.4 o Java não possuía uma forma tão 
fácil de se lidar com os dados digitados na linha de 
comando.
• A partir da versão 5.0 o Java trouxe a classe Scanner 
que pode ser criada da seguinte forma:
– Scanner s = new Scanner(System.in);
___________________________________________________
LPOO I
Lendo dados da console
• O System.in é o fluxo de entrada de dados de uma 
aplicação console Java(neste caso tudo o que for 
digitado no teclado vai para o fluxo de entrada).
• A partir da sua criação, a classe Scanner nos dá a 
possibilidade de utilizar alguns de seus métodos, são 
eles:
– nextLine() - lê uma linha de dados.
– next() - lê uma única palavra digitada.
– nextInt, nextDouble – lê dados em seus formatos específicos int 
e double respectivamente.
• Obs: para usar a classe Scanner é necessário digitar o 
seguinte comando no início do seu código:
– import java.util.*;
___________________________________________________
LPOO I
Saída de Dados
___________________________________________________
LPOO I
Imprimindo dados na console
• Assim como existe um fluxo de entrada de dados de uma 
aplicação console Java (System.in), existe também um 
fluxo de saída de dados (para a tela) que é acessado 
através do System.out.
• É possível exibir informações na console da seguinte 
forma:
– System.out.print(“String a ser exibida na tela”);
– System.out.println(“String a ser exibida na tela pulando uma 
linha no final”);
– System.out.print[ln](qualquerVariávelString);
___________________________________________________
LPOO I
Entrada e Saída(Exemplos)
• A seguir observe usos comuns dos fluxos de entrada e 
saída:
• Problema: Solicitar ao usuário que digite uma palavra na 
tela e guardar esta palavra em uma variável:
– Passos:
System.out.println(“Digite uma palavra:”);
Scanner s = new Scanner(System.in);
String palavra = s.nextLine(); // Aqui s = palavra digitada pelo 
usuário
___________________________________________________
LPOO I
Entrada e Saída(Exemplos)
• Problema: Solicitar ao usuário que digite sua idade na 
tela, guardar esta idade em uma variável, e calcular 
quantos anos ele terá na copa do mundo de 2014, por 
fim exibir o resultado na tela:
– Passos:
System.out.println(“Digite a sua idade:”);
Scanner s = new Scanner(System.in);
int ano = 2008; // ANO ATUAL
int idade = s.nextInt();
idade += (2014 - ano); ou idade = idade + (2014 - ano);
System.out.println(“Sua idade na Copa de 2014, será:” + idade);
___________________________________________________
LPOO I
Exercício 1
• Crie um programa Java que siga os seguintes passos:
– Imprima na tela: “Digite seu nome e último nome:” [pule uma 
linha]
– Leia o que foi digitado pelo usuário (usando o classe Scanner) e 
guarde numa variável chamada: nomeCompleto.
– Verifique se o nome começa com a letra “A” e informe na tela. 
(Dica: use o comando startsWith)
– Exiba na tela a terceira letra do nome.(Dica: comando charAt)
– Agora inverta o nome digitado para o formato de referência da 
ABNT: “ÚLTIMONOME, Nome” e imprima o resultado na tela.
– Dica: esta última operação deve ser feita por partes, primeiro 
transforme a string em um vetor contendo as duas palavras 
através do comando split, depois gere uma outra string usando o 
comando toUpperCase() para transformar o sobrenome para 
maiúsculo.

Continue navegando