Algoritmos e Estruturas de Dados I Strings, Registros e Vetores (Arrays) Orivaldo Santana Jr [email protected] Roteiro Strings em Java Conceito de Registro Registro na linguagem Java Vetor de Registros Exercícios Observação: Este material esta baseado no material da professora Isabel Manssour 2 Strings Um caractere é uma letra, um numeral, uma pontuação ou um símbolo Um string consiste em um conjunto de caracteres, sendo, portanto, utilizado para armazenar textos em geral 3 Strings em Java Declaração e utilização; String nome; nome = new String(“João”); nome = “Mario”; nome = nome + “ Silva”; 4 Strings em Java Comparação: String nome1, nome2; nome1 = new String(“João”); nome2 = new String(“José”); 5 Strings em Java Comparação: String nome1, nome2; nome1 = new String(“João”); nome2 = new String(“José”); if (nome1.equals(nome2)) { System.out.println( nome1+" igual a "+nome2 ); } 6 Strings em Java Leitura do teclado String nome, endereco; Scanner entrada = new Scanner(System.in); System.out.print("Escreva o nome: "); nome = entrada.nextLine(); System.out.print("Escreva o endereço: "); endereco = entrada.nextLine(); 7 Conceito de Registro Problemas reais • Temos coleção de dados que são de tipos • diferentes Exemplo: ficha de cadastro de cliente • • • • • Nome: string Endereço: string Telefone: string Salário: float Idade: int Ficha Nome: ________ Endereço: _____ Telefone: _____ Salário: _______ Idade: ________ 8 Conceito de Registro Tipo de dado estruturado de maneira heterogênea; • Coleção de variáveis referenciadas sobre o mesmo nome; Permite agrupar dados de diferentes tipos numa mesma estrutura: • Cada componente de um registro pode ser de um • tipo diferente (int, char, … ) Estes componentes são referenciados por um nome 9 Conceito de Registro Os elementos do registro • São chamados de campos registro É utilizado para armazenar informações de um mesmo objeto Exemplos: • Carro → cor, marca, ano, placa, chassi • Pessoa → nome, idade, endereço 10 Conceito de Registro Campo • Contem uma informação particular sobre o objeto • Exemplo: nome Registro • Conjunto de campos relacionados • Exemplo: nome, endereço, telefone, salário e idade de uma pessoa 11 Registro na Linguagem Java Java não possui um elemento registro como em outras linguagens (C/C++, pascal) Possui o elemento classe que pode ser utilizado como um registro Sintaxe: public class NomeDoRegistro { public TipoA campo1; public TipoB campo2; ... } 12 Registro na Linguagem Java Como definir a ficha do cliente na sintaxe de Java? • Nome: string • Endereço: string • Telefone: string • Salário: float • Idade: int 13 Registro na Linguagem Java Como definir a ficha do cliente na sintaxe de Java? public class Cliente { • Nome: string public String nome; • Endereço: string public String endereco; public String telefone; • Telefone: string public float salario; • Salário: float public int idade; • Idade: int } 14 Registro na Linguagem Java Como utilizar: Cliente c = new Cliente(); c.nome = "José Silva"; c.endereco = "Av. Recife"; c.telefone = "3322­2345"; c.salario = 3000.00; c.idade = 40; 15 Vetor de Registros Vetor é uma estrutura de dados capaz de armazena um conjunto de elementos do mesmo tipo; • Cada elemento do vetor esta associado a um • índice; Permite acesso direto ao elemento através de um índice; 16 Vetor de Registros Definição um vetor de registros em Java: Cliente[] clientes; clientes = new Cliente[quantidade]; A palavra quantidade pode ser substituída por um número inteiro ou pode ser declarada anteriormente como do tipo inteiro; 17 Vetor de Registros Utilização de um vetor de registros em Java: Cliente c = new Cliente(); c.nome = "José Silva"; c.endereco = "Av. Recife"; c.telefone = "3322­2345"; c.salario = 3000.00; c.idade = 40; clientes[indice] = c; A palavra indice pode ser substituída por um número inteiro ou pode ser declarada anteriormente como do tipo inteiro; 18 Vetor de Registros Acesso aos elementos de um vetor de registros em Java: clientes[indice].nome = "José Silva"; clientes[indice].endereco = "Av. Recife"; clientes[indice].telefone = "3322­2345"; clientes[indice].salario = 3000.00; clientes[indice].idade = 40; 19 Exercício Criar um mini sistema de cadastramento de clientes, com os seguintes requisitos: • Deve conter um módulo de cadastramento de um • • • cliente; Deve conter um módulo de visualização de um cliente; Deve conter um módulo para visualizar os dados de todos os clientes; Permitir que o usuário possa escolher uma das ações desempenhadas por estes módulos; 20