Você está aqui: Java ::: Pacote java.util ::: Enumeration |
Como usar o método hasMoreElements() da interface Enumeration do Java para testar se a enumeração possui mais elementosQuantidade de visualizações: 3024 vezes |
Quando estamos usando um objeto da interface Enumeration para enumerar e percorrer os elementos de uma coleção (ArrayList, Vector, etc), é sempre uma boa idéia verificar se a enumeração possui elementos (ou mais elementos) antes de tentar acessá-los. Isso pode ser feito por meio do método hasMoreElements(). Se a enumeração possuir mais elementos o valor true é retornado. Em caso contrário false será retornado. Veja um trecho de código no qual obtemos um Enumeration para os elementos de um ArrayList e usamos seu método hasMoreElements() para testar se ainda há elementos a serem percorridos: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- package estudos; import java.util.ArrayList; import java.util.Collections; import java.util.Enumeration; public class Estudos{ public static void main(String[] args) { // vamos criar uma ArrayList ArrayList<String> pessoas = new ArrayList(); pessoas.add("Osmar"); pessoas.add("Carlos"); pessoas.add("Fernanda"); // vamos obter um enumerador para a lista Enumeration<String> pessoa = Collections.enumeration(pessoas); // agora vamos percorrer os elementos while(pessoa.hasMoreElements()){ // há elementos a serem percorridos? System.out.println(pessoa.nextElement()); } } } Ao executarmos este código nós teremos o seguinte resultado: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- Osmar Carlos Fernanda |
![]() |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Arrays e Matrix (Vetores e Matrizes) |
Exercícios Resolvidos de Java - Declarar e construir uma matriz de 10 int, pedir ao usuário para informar os valores dos elementos, mostrar a média dos valores informados e a quantidade de valores acima da médiaQuantidade de visualizações: 13853 vezes |
Pergunta/Tarefa: Escreva um programa Java console ou GUI que declara e constrói uma matriz de 10 inteiros. Em seguida peça ao usuário para informar os 10 valores e armazene-os na matriz. Finalmente obtenha a média aritmética dos valores informados e mostre quantos valores estão acima da média. Seu programa deverá exibir a seguinte saída (no caso de uma aplicação Console): Informe o 1º valor: 4 Informe o 2º valor: 12 Informe o 3º valor: 9 Informe o 4º valor: 6 Informe o 5º valor: 4 Informe o 6º valor: 3 Informe o 7º valor: 7 Informe o 8º valor: 2 Informe o 9º valor: 3 Informe o 10º valor: 1 A média dos valores é: 5.0 Quantidade de valores acima da média: 4 Resposta/Solução: Veja a resolução comentada deste exercício usando Java console: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- package estudos; import java.util.Scanner; public class Main { public static void main(String[] args) { // vamos declarar e instancia um objeto da classe Scanner Scanner entrada = new Scanner(System.in); // vamos declarar e construir uma matriz de 10 ints int valores[] = new int[10]; double media; // média dos valores int soma = 0; // soma dos valores lidos int quantAcimaMedia = 0; // quantidade de valores acima da média // vamos solicitar ao usuário que informe os 10 valores inteiros // e vamos armazená-los na matriz for(int i = 0; i < valores.length; i++){ System.out.print("Informe o " + (i + 1) + "º valor: "); int valor = Integer.parseInt(entrada.nextLine()); valores[i] = valor; // vamos adicionar este valor à soma soma = soma + valor; } // vamos obter a média dos valores lidos media = (soma / valores.length); // agora precisamos obter a quantidade de valores acima da média for(int i = 0; i < valores.length; i++){ if(valores[i] > media){ quantAcimaMedia++; } } // vamos exibir os resultados System.out.println("A média dos valores é: " + media); System.out.println("Quantidade de valores acima da média: " + quantAcimaMedia); } } |
Java ::: Estruturas de Dados ::: Árvore Binária e Árvore Binária de Busca |
Como percorrer uma árvore binária em Java usando o algorítmo depth-first search (DFS) recursivoQuantidade de visualizações: 832 vezes |
Nesta dica mostrarei como podemos implementar o algorítmo da Busca em Profundidade (DFS, do inglês depth-first search) em Java de forma recursiva. Em outra dica desta seção que mostrei como fazer a mesma travessia de forma iterativa e usando uma pilha para backtracking (retrocesso). Antes de iniciarmos, veja a árvore binária que vamos usar no exemplo: ![]() Note que esta árvore possui seis nós. O nó 5 é o nó raiz, e possui como filhos os nós 4 e 9. O nó 4, por sua vez, possui apenas um filho, o nó 2, ou seja, o filho da esquerda. O nó 9 possui dois filhos: o nó 3 é o filho da esquerda e o nó 12 é o filho da direita. Os filhos da árvore binária que não possuem outros filhos são chamados de folhas. Com a abordagem da busca em profundidade, começamos com o nó raiz e viajamos para baixo em uma única ramificação. Se o nó desejado for encontrado naquela ramificação, ótimo. Do contrário, continuamos subindo e pesquisando por nós não visitados. Esse tipo de busca também tem uma notação big O de O(n). Vamos à implementação? Veja o código para a classe No, que representa um nó na árvore binária: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- // implementação da classe No class No{ public int valor; // o valor do nó public No esquerdo; // o filho da esquerda public No direito; // o filho da direita public No(int valor){ this.valor = valor; this.esquerdo = null; this.direito = null; } } Veja agora o código completo para o exemplo. Note que estamos usando recursividade nesta dica. Observe também o uso de uma ArrayList para guardar os valores da árvore binária na ordem depth-first. Eis o código: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- package estudos; import java.util.ArrayList; // implementação da classe No class No{ public int valor; // o valor do nó public No esquerdo; // o filho da esquerda public No direito; // o filho da direita public No(int valor){ this.valor = valor; this.esquerdo = null; this.direito = null; } } public class Estudos{ public static void main(String[] args){ // vamos criar os nós da árvore No cinco = new No(5); // será a raiz da árvore No quatro = new No(4); No nove = new No(9); No dois = new No(2); No tres = new No(3); No doze = new No(12); // vamos fazer a ligação entre os nós cinco.esquerdo = quatro; cinco.direito = nove; quatro.esquerdo = dois; nove.esquerdo = tres; nove.direito = doze; // agora já podemos efetuar o percurso depth-first ArrayList<Integer> valores = new ArrayList<>(); percursoDepthFirst(valores, cinco); System.out.println("Os valores na ordem Depth-First são: " + valores); } public static void percursoDepthFirst(ArrayList<Integer> valores, No no){ if(no != null){ // vamos adicionar o valor deste nó no ArrayList valores.add(no.valor); // passamos para o filho esquerdo percursoDepthFirst(valores, no.esquerdo); // passamos para o filho direito percursoDepthFirst(valores, no.direito); } } } Ao executarmos este código Java nós teremos o seguinte resultado: Os valores na ordem Depth-First são: [5, 4, 2, 9, 3, 12] Compare estes valores com a imagem vista anteriormente para entender ainda melhor o percurso ou busca Depth-First. |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Java Básico |
Exercícios Resolvidos de Java - Como calcular a soma, o produto, a diferença e o quociente de dois números inteiros informados pelo usuárioQuantidade de visualizações: 1391 vezes |
Pergunta/Tarefa: Escreva um programa Java que pede para o usuário informar dois número inteiros. Em seguida mostre a soma, o produto, a diferença e o quociente dois dois números informados. Sua saída deverá ser parecida com: Informe o primeiro número: 8 Informe o segundo número: 3 A soma dos números é: 11 O produto dos números é: 24 A diferença dos números é: 5 O quociente dos números é: 2.66667 Veja a resolução comentada deste exercício usando Java: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- package estudos; import java.util.Scanner; public class Estudos{ public static void main(String args[]){ // variáveis usadas na resolução do problema int n1, n2, soma, produto, diferenca; double quociente; // vamos ler os dois números Scanner leitura = new Scanner(System.in); System.out.print("Informe o primeiro número: "); n1 = Integer.parseInt(leitura.nextLine()); System.out.print("Informe o segundo número: "); n2 = Integer.parseInt(leitura.nextLine()); // vamos somar os dois números soma = n1 + n2; // vamos calcular o produto produto = n1 * n2; // vamos calcular a diferença diferenca = n1 - n2; // vamos calcular o quociente quociente = n1 / (n2 * 1.0); // vamos mostrar os resultados System.out.println("A soma dos números é: " + soma); System.out.println("O produto dos números é: " + produto); System.out.println("A diferenca dos números é: " + diferenca); System.out.println("O quociente dos números é: " + quociente); } } |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Recursão (Recursividade) |
Exercício Resolvido de Java - Como contar de 0 até 10 usando recursividade em Java - Funções recursivas em JavaQuantidade de visualizações: 5022 vezes |
Pergunta/Tarefa: Escreva um método Java recursivo que conta e exibe os valores de 0 até 10. Seu método deverá possuir a seguinte assinatura: public static void contarRecursivamente(int n){ // sua implementação aqui } Sua saída deverá ser parecida com: 0 1 2 3 4 5 6 7 8 9 10 Veja a resolução comentada deste exercício usando Java: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- package exercicio; public class Exercicio { public static void main(String[] args) { // efetua uma chamada ao método recursivo // fornecendo o primeiro valor contarRecursivamente(0); } // método recursivo que conta de 0 até 10; public static void contarRecursivamente(int n){ // vamos exibir o número atual System.out.print(n + " "); // devemos prosseguir com a recursividade? if(n < 10){ // incrementa o valor de n n++; // e faz uma nova chamada recursiva contarRecursivamente(n); } } } |
Java ::: Reflection (introspecção) e RTI (Runtime Type Information) ::: Passos Iniciais |
Como usar o método getMethods() da classe Class - Como listar todos os métodos de uma classe ou interface Java em tempo de execução - RevisadoQuantidade de visualizações: 9311 vezes |
O método getMethods() da classe Class permite obter um vetor contendo todos os métodos públicos de uma classe ou interface. Este método retorna um vetor de objetos da classe Method[] e pode atirar uma exceção SecurityException. Veja que os métodos herdados de e por superclasses da classe sendo investigada são também retornados. O exemplo a seguir mostra como listar todos os métodos públicos da classe javax.swing.JButton (veja como usamos o método getName() da classe Method para obter o nome do método): ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- package arquivodecodigos; import java.lang.reflect.*; public class Estudos{ public static void main(String args[]){ // vamos carregar a classe JButton try{ Class c = Class.forName("javax.swing.JButton"); // obtém os nomes dos métodos Method[] metodos = c.getMethods(); // exibe o nome de cada método for(int i = 0; i < metodos.length; i++){ System.out.println(metodos[i].getName() + ", "); } } catch(ClassNotFoundException e){ System.out.println(e.getMessage()); } System.exit(0); } } Note que aqui nós estamos usando o método getName() da classe Method para retornar apenas o nome do método. Nesta seção você encontra exemplos de como obter também o tipo de retorno dos métodos de um determinada classe ou interface. A execução desse código gera uma lista gigante de métodos. Vou mostrá-los abaixo para que você tenha uma idéia do funcionamento real: getAccessibleContext(), getUIClassID(), isDefaultButton(), isDefaultCapable(), removeNotify(), setDefaultCapable(), updateUI(), getUI(), setAction(), setModel(), setUI(), addActionListener(), addChangeListener(), addItemListener(), doClick(), doClick(), getAction(), getActionCommand(), getActionListeners(), getChangeListeners(), getDisabledIcon(), getDisabledSelectedIcon(), getDisplayedMnemonicIndex(), getHideActionText(), getHorizontalAlignment(), getHorizontalTextPosition(), getIcon(), getIconTextGap(), getItemListeners(), getLabel(), getMargin(), getMnemonic(), getModel(), getMultiClickThreshhold(), getPressedIcon(), getRolloverIcon(), getRolloverSelectedIcon(), getSelectedIcon(), getSelectedObjects(), getText(), getVerticalAlignment(), getVerticalTextPosition(), imageUpdate(), isBorderPainted(), isContentAreaFilled(), isFocusPainted(), isRolloverEnabled(), isSelected(), removeActionListener(), removeChangeListener(), removeItemListener(), setActionCommand(), setBorderPainted(), setContentAreaFilled(), setDisabledIcon(), setDisabledSelectedIcon(), setDisplayedMnemonicIndex(), setEnabled(), setFocusPainted(), setHideActionText(), setHorizontalAlignment(), setHorizontalTextPosition(), setIcon(), setIconTextGap(), setLabel(), setLayout(), setMargin(), setMnemonic(), setMnemonic(), setMultiClickThreshhold(), setPressedIcon(), setRolloverEnabled(), setRolloverIcon(), setRolloverSelectedIcon(), setSelected(), setSelectedIcon(), setText(), setVerticalAlignment(), setVerticalTextPosition(), update(), contains(), getLocation(), print(), getSize(), isOpaque(), disable(), enable(), addAncestorListener(), addNotify(), addVetoableChangeListener(), computeVisibleRect(), createToolTip(), getActionForKeyStroke(), getActionMap(), getAlignmentX(), getAlignmentY(), getAncestorListeners(), getAutoscrolls(), getBaseline(), getBaselineResizeBehavior(), getBorder(), getBounds(), getClientProperty(), getComponentPopupMenu(), getConditionForKeyStroke(), getDebugGraphicsOptions(), getDefaultLocale(), getFontMetrics(), getGraphics(), getHeight(), getInheritsPopupMenu(), getInputMap(), getInputMap(), getInputVerifier(), getInsets(), getInsets(), getMaximumSize(), getMinimumSize(), getNextFocusableComponent(), getPopupLocation(), getPreferredSize(), getRegisteredKeyStrokes(), getToolTipLocation(), getToolTipText(), getToolTipText(), getTopLevelAncestor(), getTransferHandler(), getVerifyInputWhenFocusTarget(), getVetoableChangeListeners(), getVisibleRect(), getWidth(), getX(), getY(), grabFocus(), hide(), isDoubleBuffered(), isLightweightComponent(), isManagingFocus(), isOptimizedDrawingEnabled(), isPaintingForPrint(), isPaintingTile(), isRequestFocusEnabled(), isValidateRoot(), paint(), printAll(), putClientProperty(), registerKeyboardAction(), registerKeyboardAction(), removeAncestorListener(), removeVetoableChangeListener(), requestDefaultFocus(), requestFocus(), requestFocus(), requestFocusInWindow(), resetKeyboardActions(), reshape(), scrollRectToVisible(), setActionMap(), setAutoscrolls(), setBackground(), setBorder(), setComponentPopupMenu(), setDebugGraphicsOptions(), setDefaultLocale(), setDoubleBuffered(), setFocusTraversalKeys(), setFont(), setForeground(), setInheritsPopupMenu(), setInputMap(), setInputVerifier(), setMaximumSize(), setMinimumSize(), setNextFocusableComponent(), setOpaque(), setPreferredSize(), setRequestFocusEnabled(), setToolTipText(), setTransferHandler(), setVerifyInputWhenFocusTarget(), setVisible(), unregisterKeyboardAction(), firePropertyChange(), firePropertyChange(), firePropertyChange(), getRootPane(), getListeners(), paintImmediately(), paintImmediately(), repaint(), repaint(), revalidate(), setAlignmentX(), setAlignmentY(), add(), add(), add(), add(), add(), remove(), remove(), list(), list(), removeAll(), setFocusTraversalPolicyProvider(), transferFocusDownCycle(), validate(), getComponent(), getComponentCount(), getComponents(), getFocusTraversalPolicy(), invalidate(), isFocusCycleRoot(), isFocusCycleRoot(), setFocusTraversalPolicy(), addContainerListener(), applyComponentOrientation(), areFocusTraversalKeysSet(), countComponents(), deliverEvent(), doLayout(), findComponentAt(), findComponentAt(), getComponentAt(), getComponentAt(), getComponentZOrder(), getContainerListeners(), getFocusTraversalKeys(), getLayout(), getMousePosition(), insets(), isAncestorOf(), isFocusTraversalPolicyProvider(), isFocusTraversalPolicySet(), layout(), locate(), minimumSize(), paintComponents(), preferredSize(), printComponents(), removeContainerListener(), setComponentZOrder(), setFocusCycleRoot(), addPropertyChangeListener(), addPropertyChangeListener(), add(), remove(), toString(), getName(), contains(), size(), getLocation(), getParent(), setName(), list(), list(), list(), getSize(), location(), setSize(), setSize(), resize(), resize(), enable(), transferFocus(), transferFocusBackward(), addComponentListener(), addFocusListener(), addHierarchyBoundsListener(), addHierarchyListener(), addInputMethodListener(), addKeyListener(), addMouseListener(), addMouseMotionListener(), addMouseWheelListener(), bounds(), checkImage(), checkImage(), createImage(), createImage(), createVolatileImage(), createVolatileImage(), enableInputMethods(), getColorModel(), getComponentListeners(), getComponentOrientation(), getCursor(), getDropTarget(), getFocusListeners(), getFocusTraversalKeysEnabled(), getHierarchyBoundsListeners(), getHierarchyListeners(), getIgnoreRepaint(), getInputContext(), getInputMethodListeners(), getInputMethodRequests(), getKeyListeners(), getLocale(), getLocationOnScreen(), getMouseListeners(), getMouseMotionListeners(), getMouseWheelListeners(), getToolkit(), gotFocus(), hasFocus(), inside(), isBackgroundSet(), isCursorSet(), isFocusTraversable(), isFontSet(), isForegroundSet(), keyDown(), keyUp(), lostFocus(), mouseDown(), mouseDrag(), mouseEnter(), mouseExit(), mouseMove(), mouseUp(), move(), paintAll(), prepareImage(), prepareImage(), removeComponentListener(), removeFocusListener(), removeHierarchyBoundsListener(), removeHierarchyListener(), removeInputMethodListener(), removeKeyListener(), removeMouseListener(), removeMouseMotionListener(), removeMouseWheelListener(), setComponentOrientation(), setCursor(), setDropTarget(), setFocusTraversalKeysEnabled(), setFocusable(), setIgnoreRepaint(), show(), show(), transferFocusUpCycle(), getBackground(), getBounds(), getFocusCycleRootAncestor(), getFont(), getForeground(), getPeer(), getPropertyChangeListeners(), getPropertyChangeListeners(), getTreeLock(), isDisplayable(), isMaximumSizeSet(), isMinimumSizeSet(), isPreferredSizeSet(), isShowing(), isVisible(), nextFocus(), setBounds(), setBounds(), setLocale(), setLocation(), setLocation(), dispatchEvent(), getGraphicsConfiguration(), getMousePosition(), handleEvent(), isFocusable(), isLightweight(), isValid(), postEvent(), firePropertyChange(), firePropertyChange(), firePropertyChange(), firePropertyChange(), firePropertyChange(), action(), isEnabled(), isFocusOwner(), removePropertyChangeListener(), removePropertyChangeListener(), repaint(), repaint(), repaint(), wait(), wait(), wait(), equals(), hashCode(), getClass(), notify(), notifyAll(), Esta dica foi revisada e atualizada para o Java 8. |
Java ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes) |
Como testar se uma matriz é simétrica em JavaQuantidade de visualizações: 974 vezes |
Uma matriz simétrica é uma matriz que é igual à sua transposta. Para que esta definição faça sentido, apenas podemos considerar matrizes que são quadradas, ou seja, mesma quantidade de linhas e colunas. De forma mais precisa, se A=[aij] é uma matriz de ordem n x n, nós dizemos que A é simétrica quando A=At. Veja um código Java completo no qual nós declaramos uma matriz quadrada de ordem 3, pedimos para o usuário informar os valores de seus elementos e no final informamos se a matriz é uma matriz simétrica: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- package estudos; import java.util.Scanner; public class Estudos{ public static void main(String[] args){ int n = 3; // ordem da matriz quadrada int matriz[][] = new int[n][n]; // matriz quadrada // para efetuar a leitura do usuário Scanner entrada = new Scanner(System.in); // vamos pedir para o usuário informar os elementos da matriz for (int i = 0; i < n; i++){ for (int j = 0; j < n; j++) { System.out.print("Elemento na linha " + (i + 1) + " e coluna " + (j + 1) + ": "); matriz[i][j] = Integer.parseInt(entrada.nextLine()); } } // agora verificamos se a matriz é simétrica boolean simetrica = true; for (int i = 0; (i < n) && (simetrica); i++) { for (int j = 0; (j < i) && (simetrica); j++) { // os elementos em posicoes simetricas sao iguais? if (matriz[i][j] != matriz[j][i]){ simetrica = false; } } } // agora mostramos a matriz lida System.out.printf("\n"); for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { System.out.printf("%d ", matriz[i][j]); } System.out.printf("\n"); } if (simetrica){ System.out.printf("\nA matriz informada é uma matriz simétrica.\n"); } else{ System.out.printf("\nA matriz informada não é uma matriz simétrica.\n"); } } } Ao executar este código Java nós teremos o seguinte resultado: Elemento na linha 1 e coluna 1: 5 Elemento na linha 1 e coluna 2: 1 Elemento na linha 1 e coluna 3: 2 Elemento na linha 2 e coluna 1: 1 Elemento na linha 2 e coluna 2: 6 Elemento na linha 2 e coluna 3: 3 Elemento na linha 3 e coluna 1: 2 Elemento na linha 3 e coluna 2: 3 Elemento na linha 3 e coluna 3: 8 5 1 2 1 6 3 2 3 8 A matriz informada é uma matriz simétrica. |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Java Básico |
Exercícios Resolvidos de Java - Um programa Java console ou GUI que exiba um número aleatório inteiro entre 0 e 10 (incluindo)Quantidade de visualizações: 12707 vezes |
Pergunta/Tarefa: Escreva um programa Java console ou GUI que exiba um número aleatório inteiro entre 0 e 10 (incluindo). Em seguida escreva um nova versão que exiba um número aleatório entre 10 e 20 (incluindo): Resposta/Solução: Veja a resolução e explicação para o código Java que exibe um número aleatório entre 0 e 10 (incluindo o 0 e 10): ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- O método random() da classe Math retorna um número aleatório maior que ou igual a 0,0 e menor que 1,0. Assim, se o número gerado for: 0.46095278727662825 e o multiplicarmos por 10, teremos 4.609527872766282. Se aplicarmos uma conversão para inteiro teremos 4. Assim, para garantir que o número 10 também poderá ser sorteado, basta multiplicarmos Math.random() por 11. Veja: public static void main(String[] args){ // vamos gerar um número aleatório entre 0 e 10 int numero = (int)(Math.random() * 11); // vamos exibir o número aleatório gerado System.out.println("O número gerado foi: " + numero); } Para sortear um número aleatório entre 10 e 20, só precisamos somar 10 ao número gerado. Veja: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- public static void main(String[] args){ // vamos gerar um número aleatório entre 10 e 20 int numero = 10 + (int)(Math.random() * 11); // vamos exibir o número aleatório gerado System.out.println("O número gerado foi: " + numero); } |
Java ::: Dicas & Truques ::: Formatação de datas, strings e números |
Como usar o método format() da classe NumberFormat do Java para formatar um valor float ou double de acordo com as configurações regionais - RevisadoQuantidade de visualizações: 11130 vezes |
Nesta dica mostrarei como usar o método format() da classe NumberFormat da linguagem Java. Esta classe está no pacote java.text e é usada para a formatação e análise de valores numéricos. Note como usei o método getInstance() sem argumentos. Isso nos permite retornar uma instância de NumberFormat de acordo com as configurações regionais da máquina na qual o código está sendo executado. Veja o código completo: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- package arquivodecodigos; import java.text.NumberFormat; public class Estudos{ public static void main(String[] args){ // vamos double a ser formatado double valor = 1234567.89; // vamos obter uma instância de acordo com as configurações // regionais NumberFormat nf = NumberFormat.getInstance(); // e agora usamos o método format() para formatar String numFormatado = nf.format(valor); // exibimos o valor original System.out.println("Sem formatação: " + valor); // com formatação System.out.println("Com formatação: " + numFormatado); } } Ao executar este código nós teremos o seguinte resultado: Sem formatação: 1234567.89 Com formatação: 1.234.567,89 Esta dica foi revisada e testada no Java 8. |
Vamos testar seus conhecimentos em Hidrologia |
Como é chamada a área de relevo mais elevado entre cursos de água contíguos e que serve para delimitação das bacias hidrográficas? A) Vale fluvial. B) Colúvio. C) Interflúvio. D) Planalto. E) Planície pluvial. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Fundações |
Fundações diretas ou rasas As fundações rasas ou diretas apresentam como características a transmissão da carga ao terreno, predominantemente pelas pressões distribuídas sob a base da fundação, e a profundidade de assentamento em relação ao terreno inferior a duas vezes a menor dimensão da fundação. Sobre as fundações superficiais rasas ou diretas, assinale a alternativa correta. A) A sapata associada pode ser definida como a sapata sujeita à ação de uma carga distribuída linearmente ou de pilares ao longo de um mesmo alinhamento. B) O radier é o elemento de fundação superficial que abrange parte ou todos os pilares de uma estrutura, distribuindo os carregamentos. C) A sapata corrida é definida como a sapata comum a mais de um pilar. Devido a essa particularidade, para sua execução é necessário o uso de máquinas. D) A sapata é dimensionada de modo que as tensões de tração nela resultantes sejam resistidas pelo concreto, sem necessidade de armadura. E) O bloco é dimensionado de modo que as tensões de tração nele resultantes sejam resistidas pelo emprego de armadura disposta para esse fim. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Ética e Legislação Profissional |
Postura ética profissional A ética na engenharia envolve muitas questões, entre elas o estudo das decisões, das políticas e dos valores que são moralmente desejáveis na prática dessa profissão. Sendo assim, estudar ética na engenharia tem como objetivo: A) Capacitar os engenheiros a identificarem oportunidades para que seus projetos sejam aceitos. B) Capacitar os engenheiros a enfrentarem a complexidade moral envolvida nas decisões e ações do exercício. C) Priorizar a conformidade com normas técnicas em detrimento de considerações éticas mais amplas. D) Minimizar a importância do consentimento informado em projetos que impactam comunidades locais. E) Priorizar sempre o lucro das empresas sobre os valores éticos na execução de projetos. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Hidrologia |
Qual das alternativas abaixo apresenta o conceito correto de bacia hidrográfica? A) Unidade espacial que comporta a rede de drenagem delimitada pelo relevo. B) Território marcado apenas pela presença de córregos de regime intermitente. C) Classificação geológica formada pelo conjunto de rios com a mesma nascente. D) Categoria de análise que é fruto da diminuição da rede de drenagem regional. E) Categorização hidráulica dos rios que possuem a mesma vazão na jusante. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Engenharia Civil - Construção Civil |
Processos e técnicas construtivas de instalações elétricas e hidráulicas As instalações elétricas são compostas por dispositivos cuja função é distribuir a energia elétrica, proveniente da rede de abastecimento, entre os pontos de utilização. Analise as afirmativas a seguir, referentes aos dispositivos que compõem as instalações elétricas. I. O quadro de distribuição consiste no dispositivo responsável pela divisão dos circuitos elétricos de uma edificação. II. Os condutores consistem em fios ou cabos de cobre ou alumínio, cuja função é transmitir a corrente elétrica. III. As tomadas de corrente são dispositivos cuja função é gerar corrente elétrica, permitindo a alimentação de equipamentos. IV. Os dispositivos de manobra são aqueles que permitem a interrupção da transmissão da corrente elétrica. Assinale a alternativa que apresenta somente as afirmativas corretas. A) Apenas a afirmativa I está correta. B) Apenas a afirmativa III está correta. C) Apenas as afirmativas II e III estão corretas. D) Apenas as afirmativas I, II e IV estão corretas. E) As afirmativas I, II, III e IV estão corretas. Verificar Resposta Estudar Cards Todas as Questões |
Desafios, Exercícios e Algoritmos Resolvidos de Java |
Veja mais Dicas e truques de Java |
Dicas e truques de outras linguagens |
Lisp - Como converter Coordenadas Cartesianas para Coordenadas Polares em LISP - LISP para Engenharia |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |