CodeGym/Blogue Java/Random-PT/Nível antigo 07
John Squirrels
Nível 41
San Francisco

Nível antigo 07

Publicado no grupo Random-PT

tecnologias de informação

Antigo Nível 07 - 1A revolução dos computadores, que começou no final do século 20, resultou na criação da internet (web) nos anos 90. E isso foi o começo de uma revolução ainda maior. O efeito da criação da Internet é como a industrialização. Mas o mais gostoso é que esse processo acabou de começar.

Novo Mundo

A quantidade do site é superior a 200 milhões. 3 bilhões de usuários de internet por aí. Leilões na Internet, sites na Internet, lojas online, serviços na Internet. A indústria de Tecnologia da Informação cresce de 20% a 30% ao ano. São taxas monstruosas. E continua crescendo. Nos últimos 10 anos no Vale do Silício (principal centro da indústria de alta tecnologia do mundo), a cada 2 meses é criada uma empresa, que depois custa bilhões de dólares. Sem falar nas estrelas da internet como Facebook (US$ 220 bilhões), Amazon (US$ 140 bilhões) e Google (US$ 350 bilhões). Todas essas empresas não apareceriam, se não houvesse Internet. Tudo isso resulta em alta demanda de especialistas em TI. A indústria mundial de alta tecnologia requer: desenvolvedores de software, designers, testadores de controle de qualidade, arquitetos, gerentes, administradores de sistema e outros especialistas.

É bom ser um especialista em TI

Antigo Nível 07 - 2Se você é um especialista em TI, é uma época de ouro para você. Você pode trabalhar para uma grande empresa e morar em uma cidade pequena ou trabalhar para uma empresa estrangeira. Você pode ganhar duas vezes menos do que na UE, por exemplo, mas receberá de 3 a 10 vezes mais do que no mercado de trabalho local. Quanto menor a cidade, maior a diferença. Você receberá uma experiência valiosa, um bom dinheiro e um futuro brilhante. Às vezes, você fará viagens de negócios ao escritório do empregador. E se você gosta muito, pode se mudar para lá. A maré alta levanta todos os barcos. Por que não haveria tal barco que está na hora certa e no lugar certo? Isso também é uma arte.

Você atingiu um novo nível

nível 7

Antigo Nível 07 - 3

1 Elly, matrizes

- Ei, amigo! - O que foi, Elly? - Hoje vou falar sobre uma nova entidade interessante - arrays. Uma matriz é um tipo de dados especial que pode armazenar mais de um valor. Antigo Nível 07 - 4- Vou começar com analogia. Vamos comparar uma casa comum e um arranha-céu. Uma casa é ocupada por uma única família, enquanto um edifício alto é dividido em apartamentos. Você precisa especificar o endereço exclusivo para escrever uma carta para uma família que mora na casa. Para uma família que mora em um apartamento, você deve especificar o número do apartamento. - Sim, está claro. - Portanto, uma variável de matriz é como um prédio alto. Você pode armazenar vários valores nele. Tal variável possui alguns apartamentos (células). Cada um dos apartamentos pode ser acessado pelo seu número (índice).Para isso, após o nome da variável entre colchetes deve-se especificar o índice da célula acessada. É bem simples. - Espero que sim. - Uma variável de matriz (um prédio alto) pode ser de qualquer tipo, então você só precisa escrever TypeName[] variable_nameem vez de TypeName variable_name. - Aqui estão alguns exemplos do que você pode fazer com arrays: Antigo Nível 07 - 5- Que legal! - Uma variável de matriz precisa de inicialização adicional. - Por quê então? - Uma variável usual está pronta para uso logo após sua declaração. Quanto aos arrays, é um pouco mais complicado: - Primeiro, você precisa criar um contêiner de N elementos e, em seguida, pode colocar valores nele. Antigo Nível 07 - 6- Sim. Fica mais claro agora. - Noções básicas sobre arrays :
  1. A matriz consiste em várias células.
  2. Cada célula é acessada indicando seu número.
  3. Todas as células são do mesmo tipo.
  4. Em uma matriz de n elementos, as células têm índices 0,1,2,...,n-1. Não há nenhuma célula com índice n na matriz.
  5. O valor inicial para todas as células é nulo, para tipos primitivos – 0, 0,0 para fracionários, false - para tipo booleano, exatamente o mesmo que em variáveis ​​simples não inicializadas.
  6. A lista String[] é apenas uma declaração de uma variável. Primeiro você precisa criar um array (container) e colocar na variável, para depois usar. Veja o exemplo abaixo.
  7. Ao criar um array de objetos (container), é necessário especificar seu comprimento (quantas células ele terá). Para fazer isso você precisa escrever um comando: TypeName é o tipo de valores que serão armazenados nas células do array.new TypeName[n];
Antigo Nível 07 - 7- Exemplos: Antigo Nível 07 - 8

2 Risha, Organização de matrizes na memória

- Ei, amigo! Deixa eu te mostrar como tudo funciona na memória: Antigo Nível 07 - 9- E o que é esse 345? - Na verdade, tirei do ar, mas normalmente é o endereço da string que contém a palavra «Stop». - Quanto aos arrays, é um pouco mais complicado:
Antigo Nível 07 - 10
- 155.166.177 também são números tirados de um chapéu que representam o endereço das strings à direita? - Sim. Ainda bem que você adivinhou. Observe que, na segunda figura, há um objeto adicional - um array de 10 células. - Está tudo claro, obrigado. Uma imagem vale mais que mil palavras. Obrigado, Risha.

3 Risha, Exemplos de arrays Array

- Quero dar alguns exemplos de coisas interessantes que você pode fazer com arrays: Exemplo 1. Antigo Nível 07 - 11Exemplo 2. Antigo Nível 07 - 12Exemplo 3. Antigo Nível 07 - 13Exemplo 4. Antigo Nível 07 - 14Exemplo 5. Antigo Nível 07 - 15

4 Diego, Tarefas para criação e uso de arrays

- Ei, amigo! Aqui estão algumas tarefas para você, amigo:
Tarefas
1 1. Máximo de um array de 20 números
1. No método initializeArray() :
1.1. Crie uma matriz de 20 números
1.2. Leia do teclado 20 números e preencha o array com eles
2. O método max(int[] array) deve encontrar o número máximo de elementos do array

2

2. Array de strings em ordem inversa
1. Crie um array de 10 strings.
2. Leia 8 strings do teclado e armazene-as no array.
3. Exiba na tela o conteúdo de todo o array (10 itens) na ordem inversa. Cada item deve estar em uma nova linha.

3 3. 2 arrays
1. Crie um array de 10 strings.
2. Crie outra matriz de 10 números.
3. Leia 10 strings do teclado e preencha o array de strings com elas.
4. Escreva o comprimento de uma string de cada célula do array de strings no array de células de números com o mesmo índice. Exibe na tela o conteúdo da matriz de números. Cada valor deve estar em uma nova linha.
4 4. Matriz de números em ordem inversa
1. Crie uma matriz de 10 números.
2. Leia 10 números do teclado e armazene-os na matriz.
3. Organize os elementos da matriz na ordem inversa.
4. Exiba na tela o resultado. Cada valor deve estar em uma nova linha.
5 5. Uma matriz grande e duas pequenas
1. Crie uma matriz de 20 números.
2. Leia do teclado 20 números e preencha a matriz com eles.
3. Crie duas matrizes de 10 números cada.
4. Copie os números do array grande para dois arrays pequenos: a metade dos números para o primeiro array, a outra metade para o segundo.
5. Exiba na tela o segundo array pequeno. Cada valor deve estar em uma nova linha.

5 Elly, ArrayList vs. Array

- Sou eu. - Oi, Elly! - Hoje temos um novo tópico emocionante! Agora vou falar sobre uma nova classe interessante, a ArrayList . - Ah, uma nova aula? Uau! O que isso faz? - Deixe-me começar com uma pequena história por trás. Os programadores não gostaram de uma propriedade de um array: é impossível mudar seu tamanho. O que fazer se você deseja armazenar mais três entradas no array, mas há apenas um espaço livre? - A única solução para o problema de falta de espaço foi criar um array muito grande que contém todos os elementos. Mas isso geralmente levava ao uso ineficiente da memória. Por exemplo, se em 99% do tempo de vida do array você precisasse armazenar apenas 3 elementos no array, e apenas em 1% - 100 elementos, você teria que criar um array de 100 elementos. - Então, o que os programadores inventaram? - Eles escreveram a classe ArrayList que fazia o mesmo trabalho que o Array, mas podia variar seu tamanho. - Uma jogada interessante. E como eles fizeram isso? - Todo objeto ArrayList armazena um array comum de elementos dentro dele. Quando você lê elementos do ArrayList , ele os lê de seu array interno. Quando você escreve os elementos, ele os grava no array interno. Compare: Antigo Nível 07 - 16- Então qual é a vantagem do ArrayList? Quanto a mim, o código ficou mais longo. - Primeiro, ArrayList suporta alguns recursos adicionais não disponíveis em array, que os programadores usam com muita frequência. Por exemplo,insira elementos e exclua-os do meio da matriz sem deixar buracos. - Em segundo lugar, ArrayList pode alterar seu tamanho . Quando o ArrayList precisa armazenar mais um elemento em seu array interno, e não há espaço livre, acontece o seguinte dentro do ArrayList :
  1. outro array é criado, duas vezes maior.
  2. todos os elementos do array antigo são copiados para o novo array.
  3. um novo array é armazenado em uma variável interna do objeto ArrayList, o array antigo é declarado lixo (simplesmente não armazenamos mais sua referência).
Antigo Nível 07 - 17E como trabalhar com o ArrayList? - Na verdade, da mesma forma que com um array. Olhe aqui. Vamos comparar o trabalho com o ArrayList e trabalhar com um array. Como exemplo, vamos resolver a seguinte tarefa: « O programa deve ler 10 strings do teclado e exibi-las na tela na ordem inversa ». - Verifique isto: Antigo Nível 07 - 18- Pintei ações equivalentes em ambas as colunas com uma cor. - Parece diferente, mas se você olhar mais de perto, tudo é igual. - Sim. Agora não temos colchetes ao usar ArrayList . Em vez disso, usamos os métodos get , set e add . - Eu notei isso. Mas ainda é muito parecido.

6 Diego, tarefas ArrayList

- Você está fazendo nada de novo? Você é um robô, não é? Os robôs estão sempre ocupados com alguma coisa. Aqui estão algumas tarefas para mantê-lo atualizado. Mas vamos começar com algumas dicas. - Dica 1: Uma lista geralmente significa um ArrayList . - Dica 2: Uma string significa o tipo String . - Dica 3: Para criar uma lista de strings mais comumente significa ArrayList<String> list = new ArrayList<String>();
Tarefas
1 Tarefa 1. 5 strings diferentes em uma lista
1. Crie uma lista de strings.
2. Adicione 5 strings diferentes à lista.
3. Exiba na tela seu tamanho.
4. Exiba o conteúdo da tela da lista. Cada valor deve estar em uma nova linha. Use um laço.
2 Tarefa 2. 5 linhas: «101», «102», «103», «104», «105»
1. Crie uma lista de strings.
2. Adicione 5 strings à lista. «101», «102», «103», «104», «105».
3. Exclua o primeiro, o do meio e o último.
4. Exiba o conteúdo da tela da lista. Cada valor deve estar em uma nova linha. Use um laço.
5. Exiba na tela seu tamanho. (Depois de excluir uma entrada, os índices de outras entradas mudam. Por exemplo, se excluirmos o primeiro elemento, o segundo se tornará o primeiro).
3 Tarefa 3. 5 linhas na ordem inversa
1. Crie uma lista de strings.
2. Leia 5 strings do teclado e adicione-as à lista.
3. Organize-os na ordem inversa.
4. Exiba o conteúdo da tela da lista. Cada valor deve estar em uma nova linha. Use um laço.
4

Tarefa 4. Adicione 5 strings ao início da lista
1. Crie uma lista de strings.
2. Leia 5 cordas do teclado. Adicione essas strings ao início da lista, não ao final.
3. Exiba o conteúdo da tela da lista. Cada valor deve estar em uma nova linha. Use um laço.

5 Tarefa 5. Excluir a última string e adicioná-la ao início da lista
1. Crie uma lista de strings.
2. Leia as 5 cordas do teclado. Adicione essas strings à lista.
3. Exclua a última string e adicione-a ao início da lista. Repita esta ação 13 vezes.
4. Exiba o conteúdo da tela da lista. Cada valor deve estar em uma nova linha. Use um laço.

7 Risha, Genéricos

- Agora, outro tópico incrível. - Este dia está cheio de surpresas. É como um aniversário de verdade. - Hoje vou te contar o que são os Genéricos. Genéricos são tipos que possuem parâmetros. Em Java, as classes container permitem que você especifique os tipos de seus objetos internos . - Quando declaramos uma variável genérica, especificamos dois tipos em vez de um: o tipo da variável e o tipo de dados armazenados na variável. Um bom exemplo disso é ArrayList. Quando criamos um novo objeto/variável do tipo ArrayList, também é bom especificar o tipo de valores a serem armazenados dentro da lista. Antigo Nível 07 - 19- Parece emocionante. Eu particularmente adorei o que você disse sobre qualquer tipo. - Parece ser bom. De fato, se em um método as strings forem colocadas em um ArrayList e no outro método você trabalhar com seu conteúdo e esperar que haja apenas números, o programa falhará. - Eu vejo. - Até agora, não vamos criar nossas próprias classes com parâmetros de tipo, vamos aprender a usar classes escritas por criadores de Java. - Posso usar qualquer classe como parâmetro de tipo, mesmo aquela escrita por mim? - Sim, qualquer tipo, exceto os primitivos. Todos os parâmetros de classe devem ser herdados da classe Object. - Então não posso escrever ArrayList<int> , posso? - Você não pode. Mas os desenvolvedores Java escreveram para tipos primitivos seus análogos não primitivos - classes herdadas deObjeto . Veja como fica: Antigo Nível 07 - 20- Tipos primitivos e classes analógicas (classes wrapper) podem ser facilmente atribuídas umas às outras: Antigo Nível 07 - 21- Tudo bem. Então acho que vou usar o ArrayList com mais frequência.

8 Risha, Exemplos de ArrayList, Genéricos

Antigo Nível 07 - 22- Agora vou te dar coisas realmente úteis. Aqui estão alguns exemplos úteis para trabalhar com ArrayList e Generics: - Exemplo 1. Antigo Nível 07 - 23- Exemplo 2. Antigo Nível 07 - 24- Exemplo 3. Antigo Nível 07 - 25- Exemplo 4. Antigo Nível 07 - 26- Exemplo 5. Antigo Nível 07 - 27- Incrível! Então, Diego vai me dar um monte de tarefas semelhantes agora, não é? - Sim!

9 Diego, Listar<T> tarefas

- Finalmente você está livre. Estou cansado de ter em mente essas tarefas para você. Aqui estão mais alguns para mantê-lo atualizado:
Tarefas adicionais a serem executadas no Intellij Idea
1 1. Três matrizes
1. Leia 20 números do teclado, salve-os em uma lista e, em seguida, classifique-os em três outras listas:
Lista 1 armazena números divisíveis por 3 ( x%3==0 )
Lista 2 armazena números divisíveis por 2 ( x%2==0 )
A lista 3 armazena o restante dos números.
Os números divisíveis por 3 e 2 ao mesmo tempo (por exemplo 6) pertencem a ambas as listas – lista 1 e lista 2.
2. O método printList() deve exibir cada elemento da lista em uma nova linha.
3. Use o método printList() para exibir na tela essas três listas. Primeiro a lista 1 deve ser exibida, depois a lista 2, depois a lista 3.
2 2. 5 palavras na ordem inversa
Leia no teclado 5 palavras. Adicione-os a uma lista de strings e exiba-os na tela na ordem inversa.
3 3. A palavra «aqui»
1. Crie uma lista das palavras «parar», «olhar», «ouvir».
2. Adicione uma string contendo «aqui» após cada palavra.
3. Exiba o resultado. Cada elemento da lista deve estar em uma nova linha. Use o loop “for”.
4 4. Letras «r» e «l»
1. Crie uma lista de palavras/strings, preencha com o que quiser.
2. O método fix() deve:
2.1. deletar todas as palavras contendo a letra «r» da lista de strings
2.2. dobrar todas as palavras que contêm a letra «l».
2.3. deixe a palavra inalterada se contiver ambas as letras «r» e «l».
2.4. não faça nada com outras palavras. Exemplo

:
carvalho
salgueiro
lira Dados


de saída:
carvalho
salgueiro
lira
5 5. Duplique as palavras
1. Leia no teclado 10 palavras/strings e adicione-as a uma lista de strings.
2. O método doubleValues ​​deve duplicar palavras de acordo com o padrão:
a,b,c → a,a,b,b,c,c.
3. Exiba o resultado. Cada elemento da lista deve estar em uma nova linha. Use o loop “for”.

10 Professores

Antigo Nível 07 - 28- Achei minhas palestras maravilhosas! Portanto, hoje você obterá o conhecimento mais valioso sobre arrays e listas. Aqui estão elas: Dicas sobre ArrayList em Java

11 de julho

- Ei, amigo! Fico feliz que você tenha lidado com tudo isso - você merece uma recompensa:

12 Capitão Esquilos

- Olá, soldado! - Bom Dia senhor! - Tenho uma notícia incrível para você. Aqui está uma verificação rápida para reforçar suas habilidades. Faça isso todos os dias e você aprimorará suas habilidades rapidamente. As tarefas são especialmente projetadas para serem executadas no Intellij IDEA.
Tarefas adicionais a serem executadas no Intellij Idea
1 1. Exibir números na ordem inversa
Leia no teclado 10 números e preencha a lista com eles.
Exiba na tela os números na ordem inversa. Use o laço.
2 2. Mova as primeiras M linhas para o final da lista
Leia no teclado 2 números: N e M .
Leia do teclado N strings e preencha uma lista com eles.
Mover as primeiras M linhas para o final da lista
Exibir a lista na tela. Cada valor deve estar em uma nova linha.
3 3. Maior e menor número em uma matriz
Crie uma matriz de 20 números.
Preencha-o com números lidos no teclado.
Encontre o maior e o menor número em uma matriz.
Exiba na tela os maiores e menores números separados por um espaço.
4 4. Leia as strings do teclado até que o usuário insira a string “end”
Crie uma lista de strings.
Leia as cordas do teclado (o que você quiser), adicione-as à lista.
Leia as strings do teclado até que o usuário insira a string “end”. “fim” deve ser omitido.
Exiba na tela as strings. Cada string deve estar em uma nova linha.
5 5. Bang!
Escreva um programa que faça uma contagem regressiva de 30 a 0 e exiba «Bang!» no final. O programa deve reduzir o número 10 vezes por segundo. Use a função abaixo para inserir um atraso:
Thread.sleep(100); //atraso de um décimo de segundo.
Exemplo:
30
29

1
0
Bang!
6 6. Família
Crie uma classe Human com os campos: String name , boolean sex , int age , Human father , Human mother . Crie 9 objetos da classe Humano e preencha-os de forma a obter dois avôs, duas avós, um pai, uma mãe e três filhos. Exibe na tela os objetos na tela.
Dica:
Se você escrever seu método String toString() na classe Human, ele será usado para exibir um objeto.
Saída de exemplo:
Nome: Anna, sexo: feminino, idade: 21, pai: Paul, mãe: Kate
Nome: Kate, sexo: feminino, idade: 55
Nome: Ian, sexo: masculino, idade: 2, pai: Michael, mãe: Anna
7 7. Mova um modificador estático
Mova um modificador estático para que o programa seja compilado.
- Essas tarefas eram para verdes. Adicionei tarefas bônus de maior complexidade. Apenas para armas de topo.
Tarefas bônus
1 1. O programa não compila e não roda. Consertá-lo.
Tarefa: Ler no teclado os dados do gato e exibi-los na tela.
Exemplo:
O nome do gato é Jinx, a idade é 6, o peso é 5, a cauda = 22 O
nome do gato é Maisy, a idade é 8, o peso é 7, a cauda = 20
2 2. Adicione novas funcionalidades ao programa.
Tarefa antiga: o programa lê strings até que o usuário insira uma linha em branco pressionando enter. Em seguida, converte letras minúsculas em maiúsculas (a mãe se transforma em mãe) e as exibe na tela.
Nova tarefa: O programa deve ler strings até que o usuário insira uma linha em branco pressionando enter. O programa então cria uma nova lista. Se a string tiver um número par de caracteres, a string é duplicada, se for ímpar, a string é triplicada.
Exemplo de entrada:
Cat
Cats
Me
Exemplo de saída:
Cat Cat Cat
Cats Cats
Me Me
3 3. Aprender e praticar algoritmo.
Leia no teclado 20 números e exiba-os em ordem decrescente.
Comentários
  • Populares
  • Novas
  • Antigas
Você precisa acessar para deixar um comentário
Esta página ainda não tem nenhum comentário