Você está aqui: Java ::: Desafios e Lista de Exercícios Resolvidos ::: Laços |
Como desenhar um triângulo de números em Java usando laços - Exercícios Resolvidos de JavaQuantidade de visualizações: 710 vezes |
Pergunta/Tarefa: Escreva um programa Java para imprimir uma triângulo de números. Este desafio é muito parecido com a pirâmide de números que já vimos em outras dicas e exercícios aqui no site. Seu código deverá solicitar o número de linhas e desenhar o triângulo no seguinte formato: Informe a quantidade de linhas: 8 1 121 12321 1234321 123454321 12345654321 1234567654321 123456787654321 Veja a resolução comentada deste exercício usando Java: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- package estudos; import java.util.Scanner; public class Estudos{ public static void main(String[] args){ // para ler a entrada do usuário Scanner entrada = new Scanner(System.in); // vamos ler a quantidade de linhas System.out.print("Informe a quantidade de linhas: "); int n = Integer.parseInt(entrada.nextLine()); // um laço que repete na mesma quantidade de // linhas informadas for(int i = 1; i <= n; i++){ // preenchemos com n - i espaços do lado // esquerdo do triângulo for(int j = 1; j <= n - i; j++){ System.out.print(" "); } // preenchemos os números em ordem crescente for(int k = 1;k <= i; k++){ System.out.print(k); } // preenchemos os números em ordem decrescente for(int x = i - 1; x >= 1; x--){ System.out.print(x); } // e colocamos uma quebra de linha aqui System.out.println(); } } } |
Link para compartilhar na Internet ou com seus amigos: |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Geometria Analítica e Álgebra Linear |
Exercício Resolvido de Java - Como calcular o quadrante de uma coordenada cartesiana em JavaQuantidade de visualizações: 605 vezes |
Pergunta/Tarefa: O Plano Cartesiano, ou Sistema de Coordenadas Cartesianas, é formado por duas retas reais perpendiculares, ou seja, o ângulo entre elas é de 90 graus. Essas retas determinam um único plano, que é denominado como sistema ortogonal de coordenadas cartesianas ou somente plano cartesiano. No ano de 1637, René Descartes teve a brilhante ideia de relacionar álgebra e geometria, dando início à conhecida geometria analítica, método que possibilita descrever a geometria utilizando uma menor quantidade de diagramas e desenhos. Apesar de os créditos dessa descoberta serem dados a Descartes, Pierre de Fermat já conhecia e utilizava alguns conceitos de geometria analítica, logo o plano cartesiano. Há quatro quadrantes no Sistema de Coordenadas Cartesianas, conforme a figura a seguir: Como podemos ver, no primeiro quadrante, tanto o x quanto o y são positivos. No segundo quadrante o x é negativo e o y é positivo. No terceiro quadrante, tanto o x quanto o y são negativos. Por fim, no quarto quadrante, o x é positivo e o y é negativo. Escreva um programa Java que pede para o usuário informar os valores x e y de uma coordenada cartesiana e informe em qual quadrante essa coordenada se situa. Se os valores de x e y forem zero, informe que o ponto se situa na origem do plano cartesiano. Sua saída deverá ser parecida com: Informe o valor x da coordenada: 12 Informe o valor y da coordenada: -7 A coordenada (12,-7) está no Quarto Quadrante (+,-) Veja a resolução comentada deste exercício em Java: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- package estudos; import java.util.Scanner; public class Estudos { public static void main(String[] args) { // para ler a entrada do usuário Scanner entrada = new Scanner(System.in); // variáveis usadas na resolução do problema int x, y; // vamos pedir para o usuário informar as coordenadas System.out.print("Informe o valor x da coordenada: "); x = Integer.parseInt(entrada.nextLine()); System.out.print("Informe o valor y da coordenada: "); y = Integer.parseInt(entrada.nextLine()); // a coordenada está no primeiro quadrante? if (x > 0 && y > 0){ System.out.println("A coordenada (" + x + "," + y + ") está no Primeiro Quadrante (+,+)"); } // a coordenada está no segundo quadrante? else if (x < 0 && y > 0){ System.out.println("A coordenada (" + x + "," + y + ") está no Segundo Quadrante (-,+)"); } // a coordenada está no terceiro quadrante? else if (x < 0 && y < 0){ System.out.println("A coordenada (" + x + "," + y + ") está no Terceiro Quadrante (-,-)"); } // a coordenada está no quarto quadrante? else if (x > 0 && y < 0){ System.out.println("A coordenada (" + x + "," + y + ") está no Quarto Quadrante (+,-)"); } // a coordenada está na origem else{ System.out.println("A coordenada (" + x + "," + y + ") está na origem"); } } } |
Java ::: Dicas & Truques ::: Strings e Caracteres |
Como transformar um StringBuffer em uma String usando o método toString() da classe StringBufferQuantidade de visualizações: 58 vezes |
Como já vimos em dicas anteriores, um objeto da classe String é imutável, ou seja, quando modificamos o conteúdo de uma String, o interpretador cria um novo objeto, copiando o conteúdo da string anterior para o objeto recém-criado. Já a classe StringBuffer é mutável, ou seja, podemos modificar o seu conteúdo sem a necessidade da criação de um novo objeto. Você ficará surpreso ao saber que não podemos atribuir uma variável do tipo StringBuffer em uma variável do tipo String e vice-versa. Ao tentarmos fazer isso, os seguintes erros de compilação são exibidos: a) error: incompatible types: StringBuffer cannot be converted to String b) error: incompatible types: String cannot be converted to StringBuffer Assim, sempre que for necessário converter um StringBuffer em uma String, temos que usar o seu método toString(). Veja: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- package arquivodecodigos; // Este exemplo mostra como converter um // StringBuffer em uma String public class Estudos{ public static void main(String[] args){ StringBuffer frase = new StringBuffer("Programação Java"); String resultado = frase.toString(); System.out.println(resultado); System.exit(0); } } |
Java ::: Coleções (Collections) ::: Set (Conjunto) |
Java Collections - Como usar a interface Set em seus códigos JavaQuantidade de visualizações: 4995 vezes |
A interface Set estende a interface Collection mas não adiciona novos métodos ou constantes. Em vez disso, esta interface define que uma instância de Set não contenha elementos duplicados. Esta responsabilidade é transferida para as classes que implementam a interface. A classe abstrata AbstractSet é uma classe de conveniência que herda da classe também abstrata AbstractCollection e implementa a interface Set. A classe AbstractSet fornece implementações concretas para os métodos equals() e hashCode(). Estes métodos permitem a funcionalidade da não permissão de elementos duplicados nos conjuntos. As classes concretas mais conhecidas da interface Set são: HashSet - Esta classe é implementada em cima de uma tabela hash, ou seja, um array (matriz) na qual os elementos são armazenados em posições calculadas de acordo com o seu conteúdo. Uma característica interessante de HashSet é que os elementos raramente são retornados na mesma ordem na qual foram inseridos. LinkedHashSet - Esta classe estende a classe HashSet com uma implementação de lista ligada (linked list) que permite a ordenação dos elementos no conjunto. TreeSet - Esta classe é uma classe concreta que implementa a interface SortedSet. A interface SortedSet é uma sub-interface de Set que garante que os elementos no conjunto estejam ordenados. Além disso, esta interface fornece os métodos first() e last() para acessar o primeiro e o último elemento do conjunto. Há ainda os métodos headSet(toElement) e tailSet(fromElement) para retornar uma faixa do conjunto cujos elementos sejam "menores" que toElement e "maiores" que fromElement. Seja qual for a implementação de Set que você queira usar, é sempre uma boa idéia codificar em cima da interface. Isso facilita a troca de HashSet por TreeSet ou vice-versa sem grandes modificações no seu código. Veja um exemplo no qual usamos a classe concreta HashSet para representar um conjunto de cinco strings únicas: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- package estudos; import java.util.HashSet; import java.util.Iterator; import java.util.Set; public class Estudos{ public static void main(String[] args) { // vamos criar uma instância da classe HashSet Set<String> conjunto = new HashSet<>(); // vamos inserir cinco elementos no Set conjunto.add("Açucar"); conjunto.add("Macarrão"); conjunto.add("Feijão"); conjunto.add("Carne"); conjunto.add("Maionese"); // vamos exibir os elementos inseridos Iterator iterator = conjunto.iterator(); while(iterator.hasNext()){ System.out.println(iterator.next()); } } } Ao executar este trecho de código teremos um resultado parecido com: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- Macarrão Feijão Carne Açucar Maionese Note que raramente os elementos serão exibidos na ordem na qual eles foram inseridos. Experimente agora trocar a linha: Set<String> conjunto = new HashSet<>(); por Set<String> conjunto = new LinkedHashSet<>(); Execute o código novamente e verá que agora os elementos são exibidos na mesma ordem que foram inseridos. |
Desafios, Exercícios e Algoritmos Resolvidos de Java |
Veja mais Dicas e truques de Java |
Dicas e truques de outras linguagens |
JavaScript - Validação de formulários em JavaScript - Como validar um formulário contendo usuário e senha em JavaScript |
Códigos Fonte |
Software de Gestão Financeira com código fonte em PHP, MySQL, Bootstrap, jQuery - Inclui cadastro de clientes, fornecedores e ticket de atendimento Diga adeus às planilhas do Excel e tenha 100% de controle sobre suas contas a pagar e a receber, gestão de receitas e despesas, cadastro de clientes e fornecedores com fotos e histórico de atendimentos. Código fonte completo e funcional, com instruções para instalação e configuração do banco de dados MySQL. Fácil de modificar e adicionar novas funcionalidades. Clique aqui e saiba mais |
Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidades Tenha o seu próprio sistema de controle de estoque web. com cadastro de produtos, categorias, fornecedores, entradas e saídas de produtos, com relatórios por data, margem de lucro e muito mais. Código simples e fácil de modificar. Acompanha instruções para instalação e criação do banco de dados MySQL. Clique aqui e saiba mais |
Linguagens Mais Populares |
1º lugar: Java |