Você está aqui: Java ::: Classes e Componentes ::: JTable |
Java Swing - Como excluir linhas de uma JTable em tempo de execução usando o método removeRow() da classe DefaultTableModelQuantidade de visualizações: 15871 vezes |
Nesta dica mostrarei como é possível excluir uma determinada linha de uma JTable usando o método removeRow() da classe DefaultTableModel. Veja que mostro também como inserir novas linhas na JTable usando o método insertRow(). Veja o resultado obtido na imagem abaixo: ![]() E agora o código Java Swing 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 javax.swing.*; import java.awt.*; import java.awt.event.*; import javax.swing.table.*; public class Estudos extends JFrame{ public Estudos(){ super("Exemplo de uma tabela simples"); final DefaultTableModel modelo = new DefaultTableModel(); // constrói a tabela JTable tabela = new JTable(modelo); // Cria duas colunas modelo.addColumn("Nome"); modelo.addColumn("Idade"); JButton btn = new JButton("Inserir Linhas"); btn.addActionListener( new ActionListener(){ public void actionPerformed(ActionEvent e){ String nome = JOptionPane.showInputDialog(null, "Informe o nome:"); String idade = JOptionPane.showInputDialog(null, "Informe a idade:"); int pos = Integer.parseInt(JOptionPane.showInputDialog(null, "Informe a posição da nova linha:")); // testa se a posição é válida if(pos > (modelo.getRowCount() - 1)) pos = 0; // Insere uma linha na posição especificada modelo.insertRow(pos, new Object[]{nome, idade}); } } ); JButton btn2 = new JButton("Excluir Linhas"); btn2.addActionListener( new ActionListener(){ @Override public void actionPerformed(ActionEvent e){ int pos = Integer.parseInt(JOptionPane.showInputDialog(null, "Informe a posição da linha a ser excluída:")); // testa se a posição é válida if(pos < modelo.getRowCount()) // Exclui a linha na posição especificada modelo.removeRow(pos); } } ); tabela.setPreferredScrollableViewportSize(new Dimension(350, 50)); Container c = getContentPane(); c.setLayout(new FlowLayout()); JScrollPane scrollPane = new JScrollPane(tabela); c.add(scrollPane); c.add(btn); c.add(btn2); setSize(400, 300); setVisible(true); } public static void main(String args[]){ Estudos app = new Estudos(); app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } } |
![]() |
Java ::: Dicas & Truques ::: Programação Orientada a Objetos |
Programação orientada a objetos em Java - Java OOP - Como usar variáveis estáticas em suas classes JavaQuantidade de visualizações: 11896 vezes |
Variáveis estáticas podem ser definidas em Java por meio do uso da palavra-chave static. Uma variável estática pertence à classe na qual ela é definida e não à cada uma de suas instâncias. Pareceu confuso? Você pode pensar assim: quando definida com o modificador static, uma variável será única na classe, não importa a quantidade de instâncias da classe que serão criadas. Cada uma destas instâncias compartilhará o valor da variável estática. Além disso, uma variável estática pode ser acessada por meio do nome da classe, sem a necessidade de uma referência a uma de suas instâncias. Uma variável estática pode ser public, private ou protected. Vamos ver um exemplo? Considere a situação na qual gostaríamos de criar um identificador único para cada um dos objetos de uma classe. Veja o código para a classe Livro: Código para Livro.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; public class Livro { // variáveis privadas private String titulo; // título do livro // variável estática que permitirá definir um // identificador único para cada livro private static int id; // construtor da classe Livro public Livro(){ // vamos incrementar a variável estática Livro.id++; } // método que permite obter o id do livro public int getId(){ return Livro.id; } // método que permite definir o título do livro public void setTitulo(String titulo){ this.titulo = titulo; } // método que permite obter o título do livro public String getTitulo(){ return this.titulo; } } Veja agora como criar três objetos da classe Livro a partir do método main() da aplicação: Código para Main.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; public class Main { public static void main(String[] args) { // vamos criar um objeto da classe Livro Livro a = new Livro(); a.setTitulo("Programando em Java 2"); // vamos exibir os dados do livro System.out.println("Id: " + a.getId()); System.out.println("Titulo: " + a.getTitulo()); // vamos criar mais um livro Livro b = new Livro(); b.setTitulo("A biblia do C/C++"); // vamos exibir os dados do livro System.out.println("Id: " + b.getId()); System.out.println("Titulo: " + b.getTitulo()); // e mais um livro aqui Livro c = new Livro(); c.setTitulo("PHP + MySQL"); // vamos exibir os dados do livro System.out.println("Id: " + c.getId()); System.out.println("Titulo: " + c.getTitulo()); } } Ao executar esta aplicação teremos o seguinte resultado: Id: 1 Titulo: Programando em Java 2 Id: 2 Titulo: A biblia do C/C++ Id: 3 Titulo: PHP + MySQL Como podemos ver, a cada instância criada a variável id é incrementada em 1. Caso você não tenha entendido todo o processo, este incremento acontece no construtor da classe Livro. Veja: // vamos incrementar a variável estática Livro.id++; Nas situações em que as variáveis estáticas são públicas, podemos acessá-la usando o nome da classe seguida de um ponto. Assim, se a variável id fosse pública, poderíamos acessá-la de qualquer lugar de nossa aplicação da seguinte forma: System.out.println(Livro.id); |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Java Básico |
Exercícios Resolvidos de Java - Como testar se um número é potência de dois usando JavaQuantidade de visualizações: 710 vezes |
Pergunta/Tarefa: Escreva um programa Java contendo um método que recebe um número inteiro e retorna um valor boolean indicando se o valor informado é potência de dois. Sua saída deverá ser parecida com: Informe um valor inteiro: 8 O valor 8 é potência de dois Informe um valor inteiro: 34 O valor 34 não é potência de dois Informe um valor inteiro: 64 O valor 64 é potência de dois 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[]){ // para ler a entrada do usuário Scanner entrada = new Scanner(System.in); // vamos pedir para o usuário informar um valor inteiro System.out.print("Informe um valor inteiro: "); int valor = Integer.parseInt(entrada.nextLine()); // vamos testar se o número informado é potência de dois if(isPotenciaDeDois(valor)){ System.out.println("O valor " + valor + " é potência de dois"); } else{ System.out.println("O valor " + valor + " não é potência de dois"); } } // método que recebe um número inteiro e informe se ele é // potência de dois public static boolean isPotenciaDeDois(int n){ // usamos o operador AND de bits para verificar se n AND n-1 // é igual a 0 return (n > 0) && (n & (n - 1)) == 0; } } |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Laços de Repetição |
Exercício Resolvido de Java - Um programa que solicita ao usuário que informe um número e verifica se tal número é um número perfeitoQuantidade de visualizações: 2760 vezes |
Exercícios Resolvidos de Java - Um programa que solicita ao usuário que informe um número e verifica se tal número é um número perfeito Pergunta/Tarefa: Em Matemática, um número perfeito é um número inteiro para o qual a soma de todos os seus divisores positivos próprios (excluindo ele mesmo) é igual ao próprio número. Por exemplo, o número 6 é um número perfeito, pois: 6 = 1 + 2 + 3. O próximo número perfeito é o 28, pois 28 = 1 + 2 + 4 + 7 + 14. Todo número perfeito é um número triangular, bem como um número hexagonal. Escreva um programa Java que solicita um número inteiro ao usuário e verifica se tal número é um número perfeito. Sua saída deve ser parecida com: Informe um número: 6 O número informado é um número perfeito. 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 Estudos { public static void main(String[] args) { Scanner entrada = new Scanner(System.in); // vamos pedir que o usuário informe um número System.out.print("Informe um número: "); int numero = Integer.parseInt(entrada.nextLine()); // vamos verificar se o número informado é um número perfeito int soma = 0; // vamos contar de 1 até a metade do número informado for(int i = 1; i <= numero / 2; i++){ if(numero % i == 0){ // o número informado é divisível pelo valor de i? soma = soma + i; } } // a soma é igual ao numero informado? if(soma == numero){ System.out.println("O número informado é um número perfeito."); } else{ System.out.println("O número informado não é um número perfeito."); } System.out.println("\n"); } } |
Java ::: Dicas & Truques ::: Sistema |
Como efetuar captura de tela (screenshot) em seus programas Java usando o método createScreenCapture() da classe RobotQuantidade de visualizações: 14975 vezes |
Nesta dica eu vou mostrar como é possível usar o método createScreenCapture() da classe Robot, do pacote java.awt, para tirar um print screen, ou seja, capturar uma determinada região da tela do seu computador. Note que, ao tirar o print da região que queremos, nós salvamos a imagem em um determinado diretório. Veja o código completo para o exemplo: ---------------------------------------------------------------------- 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.awt.AWTException; import java.awt.Rectangle; import java.awt.Robot; import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; import javax.imageio.ImageIO; public class Estudos{ public static void main(String[] args){ try{ Robot robot = new Robot(); // Captura a tela na àrea definida pelo retângulo BufferedImage bi = robot.createScreenCapture(new Rectangle(0, 0, 300, 250)); // Salva a imagem ImageIO.write(bi, "jpg", new File("C:\\estudos_java\\captura_tela.jpg")); } catch(AWTException e){ e.printStackTrace(); } catch(IOException e){ e.printStackTrace(); } } } Execute este código e verá uma imagem JPG ser gravada no endereço "C:\\estudos_java\\captura_tela.jpg". |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Estruturas de Controle |
Exercícios Resolvidos de Java - Ler os lados de um triângulo e informar se ele é isósceles, escaleno ou equiláteroQuantidade de visualizações: 12629 vezes |
Pergunta/Tarefa: Um triângulo é uma forma geométrica (polígono) composta de três lados, sendo que cada lado é menor que a soma dos outros dois lados. Assim, para que um triângulo seja válido, é preciso que seus lados A, B e C obedeçam à seguinte regra: A < (B + C), B < (A + C) e C < (A + B). Escreva um programa Java que leia os três lados de um triângulo e verifique se tais valores realmente formam um triângulo. Se o teste for satisfatório, informe se o triângulo é isósceles (dois lados iguais e um diferente), escaleno (todos os lados diferentes) ou equilátero (todos os lados iguais). Sua saída deverá ser parecida com: Informe o primeiro lado do triângulo: 30 Informe o segundo lado do triângulo: 40 Informe o terceiro lado do triângulo: 60 O triângulo é escaleno 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) { // vamos fazer a leitura usando a classe Scanner Scanner entrada = new Scanner(System.in); // vamos ler o primeiro lado do triângulo System.out.print("Informe o primeiro lado do triângulo: "); int ladoA = Integer.parseInt(entrada.nextLine()); // vamos ler o segundo lado do triângulo System.out.print("Informe o segundo lado do triângulo: "); int ladoB = Integer.parseInt(entrada.nextLine()); // vamos ler o terceiro lado do triângulo System.out.print("Informe o terceiro lado do triângulo: "); int ladoC = Integer.parseInt(entrada.nextLine()); // os lados informados formam um triângulo? if((ladoA < (ladoB + ladoC)) && (ladoB < (ladoA + ladoC)) && (ladoC < (ladoA + ladoB))){ // é um triângulo equilátero (todos os lados iguais)? if((ladoA == ladoB) && (ladoB == ladoC)){ System.out.println("O triângulo é equilátero"); } else{ // é isósceles (dois lados iguais e um diferente)? if((ladoA == ladoB) || (ladoA == ladoC) || (ladoC == ladoB)){ System.out.println("O triângulo é isósceles"); } else{ // é escaleno System.out.println("O triângulo é escaleno"); } } } else{ System.out.println("Os lados informados não formam um triângulo."); } } } |
Java ::: Dicas & Truques ::: Strings e Caracteres |
Como inverter uma string em Java usando o método reverse() da classe StringBufferQuantidade de visualizações: 166 vezes |
Nesta dica mostrarei como podemos usar o método reverse() da classe StringBuffer ou StringBuilder para inverter a ordem dos caracteres de uma palavra, frase ou texto em Java. Note como convertemos uma String em um StringBuffer, fazemos a inversão da frase e depois convertemos novamente o StringBuffer em um objeto String. Veja o código completo para o exemplo: ---------------------------------------------------------------------- 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; public class Estudos { public static void main(String[] args){ // vamos criar uma string String frase = "JAVA É BOM DEMAIS"; // vamos mostrar a frase original System.out.println("String original: " + frase); // agora vamos criar um objeto StringBuffer StringBuffer temp = new StringBuffer(frase); // vamos inverter a string agora temp.reverse(); // e agora mostramos o resultado frase = temp.toString(); System.out.println("String invertida: " + frase); } } Ao executar este código Java nós teremos o seguinte resultado: String original: JAVA É BOM DEMAIS String invertida: SIAMED MOB É AVAJ |
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 ::: Desafios e Lista de Exercícios Resolvidos ::: Java Básico |
Exercício Resolvido de Java - Um programa Java console ou GUI que receberá a duração de um evento expresso em segundos e exiba-o expresso em horas, minutos e segundosQuantidade de visualizações: 11014 vezes |
Pergunta/Tarefa: Escreva um programa Java console ou GUI que receberá a duração de um evento expresso em segundos e exiba-o expresso em horas, minutos e segundos. Seu programa deverá exibir uma saída parecida com: Informe a duração do evento em segundos: 3712 Duração do evento: 01:01:52 Resposta/Solução: Veja a resolução comentada deste exercício usando Java console (lendo a entrada do usuário por meio do uso da classe Scanner): ---------------------------------------------------------------------- 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){ // não se esqueça de adicionar um import para a classe Scanner // import java.util.Scanner; // vamos criar um objeto da classe Scanner Scanner entrada = new Scanner(System.in); // variáveis que vão guardar a duração em horas, minutos e segundos; int horas, minutos, segundos; int duracao_segundos; // guardará a duração em segundos // vamos solicitar a duração do evento em segundos System.out.print("Informe a duração do evento em segundos: "); // vamos ler os segundos informados duracao_segundos = Integer.parseInt(entrada.nextLine()); // vamos obter a quantidade de horas do evento horas = duracao_segundos / 3600; // vamos obter os minutos minutos = (duracao_segundos / 60) % 60; // vamos obter os segundos restantes segundos = duracao_segundos % 60; // vamos exibir a duração do evento em horas, minutos e segundos System.out.printf("Duração do evento: %02d:%02d:%02d\n\n", horas, minutos, segundos); } |
Vamos testar seus conhecimentos em |
Resistência do concreto De acordo com a NBR 6118/2014 - Projeto de Estruturas de Concreto - Procedimento, os valores das tensões resistentes de cálculo são estabelecidos, em cada caso particular, a partir das teorias de resistência dos elementos estruturais considerados. Com base nesta norma, determine o valor da resistência de cálculo (fcd) a ser adotado para um concreto de fck = 40 MPa, sob condições normais de carregamento, considerando o fator de segurança adequado para este caso. A) fcd = 28,6 MPa. B) fcd = 33,3 MPa. C) fcd = 34,8 MPa. D) fcd = 40 MPa. E) fcd = 56 MPa Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Fenômeno de Transportes e Hidráulica |
Tipos de Escoamentos Para um conduto cilíndrico de raio R, calcular a área molhada, o perímetro molhado e o raio hidráulico em duas situações: (1) conduto completamente cheio de água e (2) conduto 50% preenchido. Identificar o escoamento que ocorre em cada uma das situações e qual escoamento é mais influenciado pelas paredes do contorno sólido. A) A1 = πR2; PM1 = 2πR, RH1 = R, escoamento em conduto forçado A2 = (πR2)/2; PM2 = πR, RH2 = R/2, escoamento à superfície livre. O escoamento em 2 é o mais influenciado pelas paredes, pois o RH é menor. B) A1 = πR2; PM1 = 2πR, RH1 = R/2, escoamento em conduto forçado A2 = (πR2)/2; PM2 = πR, RH2 = R/2, escoamento à superfície lívre. Ambos os escoamentos possuem a mesma influência, pois o valor de RH é igual nos dois casos. C) A1 = πR2; PM1 = 2πR, RH1 = R, escoamento em conduto forçado A2 = (πR2)/2; PM2 = πR, RH2 = R/2, escoamento à superfície livre. O escoamento em 1 é o mais influenciado pelas paredes, pois o RH é maior. D) A1 = πR2; PM1 = 2πR, RH1 = R/2, escoamento em conduto forçado A2 = (πR2)/2; PM2 = πR, RH2 = R/2, escoamento à superfície livre. O escoamento em 2 é o mais influenciado pelas paredes, pois a A2 é menor. E) A1 = πR2; PM1 = 2πR, RH1 = R/2, escoamento à superfície livre A2 = (πR2)/2; PM2 = πR, RH2 = R/2, escoamento em conduto forçado. Ambos os escoamentos possuem a mesma influência, pois o valor de RH é igual nos dois casos. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em |
Aglomerantes Você sabe que o gesso faz parte da família de aglomerantes simples. A obtenção do gesso se dá através: A) Calcinação do calcário dolomítico. B) Calcinação da gipsita natural. C) Isolamento das impurezas do sulfato biidratado de cálcio. D) Calcinação da sílica. E) Calcinação de carbonatos de cálcio e de magnésio. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Fenômeno de Transportes e Hidráulica |
Máquinas de fluxo radial Máquinas de fluxo radial, com fluxo predominantemente radial na região de trabalho da linha de lâmina móvel, podem ser exemplificadas por um ventilador ou bomba de fluxo radial (ou centrífuga), cujo escoamento se dá com o fluxo de saída ortogonal ao de entrada ao rotor. Sobre as classificações de fluxo em máquinas hidráulicas, qual afirmativa está correta? A) O fluxo axial ocorre em máquinas hidráulicas quando o fluido entra pelas pás do rotor em um sentido e sai no mesmo sentido, porém na direção contrária à de entrada. B) O fluxo misto ocorre em máquinas hidráulicas quando o fluido entra pelas pás do rotor em um sentido e sai no mesmo sentido, porém na direção contrária à de entrada. C) O fluxo misto em máquinas hidráulicas ocorre quando o fluido entra e sai no mesmo sentido, porém com ângulo próximo a 90° em relação à entrada. D) Há um grupo que não se enquadra na categoria de fluxo radial. Esse grupo específico tem um escoamento do fluxo que entra em um sentido e sai perpendicularmente. E) Há um grupo que não se enquadra na categoria de fluxo radial, tampouco na categoria axial. Esta categoria remanescente é conhecida como máquinas de fluxos misto. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Engenharia Civil - Instalações Hidráulicas Prediais |
Perda de Carga Localizada, Acessórios de Tubulação Considerando a questão: "Qual a perda de carga singular em um conduto de 100 m, diâmetro de 100 mm, com um fluido escoando a 2 m/s, apresentando as seguintes singularidades rosqueadas na tubulação: válvula globo totalmente aberta e cotovelo de 45º com raio normal?". Qual o valor do fator de atrito f na tubulação anteriormente citada? Qual valor do somatório de Ks tornaria a perda de carga singular idêntica à perda de carga linear? A) 0,66 e 66,2. B) 0,066 e 66,2. C) 0,132 e 66,2. D) 0,066 e 132,4. E) 0,132 e 132,4. Verificar Resposta Estudar Cards Todas as Questões |
Mais Desafios de Programação e Exercícios e Algoritmos Resolvidos de Java |
Veja mais Dicas e truques de Java |
Dicas e truques de outras linguagens |
C# - Como adicionar ou subtrair meses de uma data em C# usando o método AddMonths() da estrutura DateTime Java - Como construir uma data em Java usando o método set() da classe Calendar - Apostila Java Básico Android Java - Como usar a classe Toast em suas aplicações Android |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |