Você está aqui: Java ::: Dicas & Truques ::: Arquivos e Diretórios |
Definir o título para a janela de um JFileChooserQuantidade de visualizações: 7763 vezes |
JFileChooser fc = new JFileChooser(); fc.setDialogTitle("Importar Arquivos"); |
Link para compartilhar na Internet ou com seus amigos: |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Recursão (Recursividade) |
Exercícios Resolvidos de Java - Como resolver o problema da Torre de Hanói recursivamenteQuantidade de visualizações: 1760 vezes |
Pergunta/Tarefa: Torre de Hanói, ou The Towers of Hanoi, é um "quebra-cabeça" que consiste em uma base contendo três pinos, em um dos quais são dispostos alguns discos uns sobre os outros, em ordem crescente de diâmetro, de cima para baixo. O problema consiste em passar todos os discos de um pino para outro qualquer, usando um dos pinos como auxiliar, de maneira que um disco maior nunca fique em cima de outro menor em nenhuma situação. O número de discos pode variar sendo que o mais simples contém apenas três. A solução da Torre de Hanói (The Towers of Hanoi) pode ser feita recursivamente da seguinte forma: O caso base (parada da recursão) é quando n = 1. Se n = 1 nós podemos simplesmente mover o disco de A para B, sem precisar passar pelo pino C. Quando n > 1 nós podemos dividir o problema original em três sub-problemas e resolvê-los sequencialmente. 1) Mova os primeiros n - 1 discos de A para C com a ajuda do pino B; 2) Mova o disco n de A para B; 3) Mova n - 1 discos do pino C para o pino B com a ajuda do pino A. Além de resolver o problema, seu programa deverá informar quantas chamadas recursivas foram feitas. Sua saída deverá ser parecida com: Resposta/Solução: Veja a resolução comentada deste exercício usando Java console: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- package arquivodecodigos; import java.util.Scanner; public class Estudos { static int quantChamadasRecursivas = 0; // registra as chamadas recursivas public static void main(String[] args) { Scanner entrada = new Scanner(System.in); // vamos ler a quantidade de discos a serem usados na simulação System.out.print("Informe a quantidade de discos: "); int discos = Integer.parseInt(entrada.nextLine()); // resolve o problema recusivamente System.out.println("\nOs movimentos para resolver o problema foram:\n"); moverDiscos(discos, 'A', 'B', 'C'); System.out.println("\nForam feitas " + quantChamadasRecursivas + " chamadas recursivas"); System.out.println(); } // método recursivo que resolve o problema da Torre de Hanói public static void moverDiscos(int n, char daTorre, char paraTorre, char torreAux) { quantChamadasRecursivas++; // registra mais uma chamada recursiva if(n == 1){ // condição de parada System.out.println("Movendo o disco " + n + " de " + daTorre + " para " + paraTorre); } else{ // faz mais uma chamada recursiva moverDiscos(n - 1, daTorre, torreAux, paraTorre); System.out.println("Movendo o disco " + n + " de " + daTorre + " para " + paraTorre); moverDiscos(n - 1, torreAux, paraTorre, daTorre); } } } |
Java ::: Java + MySQL ::: Metadados da Base de Dados (Database Metadata) |
Java MySQL - Como obter os tipos de tabelas suportados pelo MySQL usando o método getTableTypes() da classe DatabaseMetaDataQuantidade de visualizações: 5314 vezes |
Em algumas situações precisamos obter os tipos de tabelas suportados por uma determinada versão do MySQL. Isso pode ser feito com uma chamada ao método getTableTypes() da classe com.mysql.jdbc.DatabaseMetaData. Um objeto desta classe é obtido a partir do método getMetaData() da interface Connection (para o driver com.mysql.jdbc.Driver, é claro). A assinatura do método getTableTypes() é: public ResultSet getTableTypes() throws SQLException Vamos ver um exemplo? Veja um trecho de código que usei para listar os tipos de tabelas disponíveis no MySQL 5.0: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- package estudosbancodados; import java.sql.*; public class EstudosBancoDados{ public static void main(String[] args) { // strings de conexão String databaseURL = "jdbc:mysql://localhost/estudos"; String usuario = "root"; String senha = "osmar1234"; String driverName = "com.mysql.jdbc.Driver"; try { Class.forName(driverName).newInstance(); Connection conn = DriverManager.getConnection(databaseURL, usuario, senha); // vamos obter um objeto da classe com.mysql.jdbc.DatabaseMetaData DatabaseMetaData dbmd = conn.getMetaData(); // vamos obter os tipos de tabelas suportadas por esta versão do MySQL ResultSet tiposTabelas = dbmd.getTableTypes(); while(tiposTabelas.next()){ System.out.println(tiposTabelas.getString("TABLE_TYPE")); } // vamos fechar o ResultSet tiposTabelas.close(); } catch (SQLException ex) { System.out.println("SQLException: " + ex.getMessage()); System.out.println("SQLState: " + ex.getSQLState()); System.out.println("VendorError: " + ex.getErrorCode()); } catch (Exception e) { System.out.println("Problemas ao tentar conectar com o banco de dados: " + e); } } } O resultado da execução deste código foi: TABLE VIEW LOCAL TEMPORARY |
Java ::: Dicas & Truques ::: Strings e Caracteres |
Como converter uma string para letras maiúsculas em Java - Como transformar uma string em maiúsculas usando o método toUpperCase() da classe StringQuantidade de visualizações: 50 vezes |
A classe String nos fornece o toUpperCase() que converte todas as letras em um texto para letras maiúsculas e nos retorna o resultado de acordo com o locale padrão. Este método é semelhante à toUpperCase(Locale.getDefault()). Veja um exemplo de como transformar todas as letras de uma frase para letras maiúsculas: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- package arquivodecodigos; public class Estudos{ public static void main(String[] args){ String original = "Onde posso aprender a programar em Java?"; // vamos convertar para letras maísculas String maiusculas = original.toUpperCase(); // vamos mostrar o resultado System.out.println("String original: " + original); System.out.println("Em letras maiúsculas: " + maiusculas); System.exit(0); } } Ao executarmos este código nós teremos o seguinte resultado: String original: Onde posso aprender a programar em Java? Em letras maiúsculas: ONDE POSSO APRENDER A PROGRAMAR EM JAVA? Esta dica foi revisada e atualizada para o Java 8. |
Vamos testar seus conhecimentos em |
Dimensionamento de pilares de canto Os pilares de canto são solicitados pela flexão oblíqua, tendo momentos de 1ª ordem e excentricidades nas direções x e y. Analise os dados para o pilar a seguir: Qual o valor das excentricidades no topo e na base do referido pilar, em x e y? A) e1,x,A = 1,02cm. e1,x,B = 1,31cm. e1,y,A = 2,05cm. e1,y,B = 1,75cm. B) e1,x,A = 1,52cm. e1,x,B = 1,31cm. e1,y,A = 2,22cm. e1,y,B = 1,99cm. C) e1,x,A = 2,10cm. e1,x,B = 1,56cm. e1,y,A = 1,50cm. e1,y,B = 1,99cm. D) e1,x,A = 2,78cm. e1,x,B = 1,32cm. e1,y,A = 1,50cm. e1,y,B = 1,99cm. E) e1,x,A = 1,78cm. e1,x,B = 1,32cm. e1,y,A = 1,22cm. e1,y,B = 0,99cm. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Ética e Legislação Profissional |
Noções de licitação pública A prefeitura de um município do interior do Estado de Santa Catarina precisa realizar uma licitação para a aquisição de bens de informática considerados comuns, como impressoras, cartuchos, laptops, estabilizadores, etc. A modalidade de licitação mais indicada é: A) convite. B) leilão. C) concurso. D) pregão. E) concorrência. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Ética e Legislação Profissional |
Princípios específicos do Direito do Consumidor A Política Nacional das Relações de Consumo tem por objetivo o atendimento das necessidades dos consumidores, o respeito à sua dignidade, saúde e segurança, a proteção de seus interesses econômicos, a melhoria da sua qualidade de vida, bem como a transparência e harmonia das relações de consumo, atendido, dentre outros, o princípio da ação governamental, que se manifesta: A) Pela garantia dos produtos e serviços com padrões adequados de qualidade, segurança, durabilidade e desempenho. B) Pela presença do Estado no mercado estrangeiro. C) Pelo monopólio estrangeiro no mercado nacional. D) Pelo incentivos à criação e desenvolvimento de associações lucrativas. E) Pela iniciativa indireta. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Engenharia Civil - Construção Civil |
Locação da obra Quais equipamentos são considerados de grande importância para a locação de uma obra? A) Colher de pedreiro, óculos de proteção, protetor auricular e luvas. B) Trena de plástico, capacete, cimento e calculadora digital. C) Colher de pedreiro, trena de plástico e régua metálica. D) Régua metálica, teodolito e trena de plástico. E) Teodolito, nível de mangueira, trena metálica, linha de náilon e prumo. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em JavaScript |
Qual é a sintáxe correta do laço FOR em JavaScript? A) for (var i = 0; i <= 5) {} B) for var i = 1 to 5 {} C) for (var i <= 5; i++) {} D) for (var i = 0; i <= 5; i++) {} 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 |
Fórmulas da Física - Fórmula da Distância - Como calcular a distância dados a velocidade e o tempo decorrido Java - Como converter de octal para decimal usando o método parseInt() da classe Integer da linguagem Java |
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 |