Você está aqui: Java ::: Pacote java.awt.image ::: BufferedImage |
Como retornar a largura da imagem de um BufferedImage do Java usando seu método getWidth()Quantidade de visualizações: 932 vezes |
Em algumas situações nós precisamos saber a largura, em pixels, da imagem carregada em um objeto da classe BufferedImage do Java. Para isso nós podemos usar o seu método getWidth(). Veja um trecho de código Java console no qual carregamos uma imagem JPG em um objeto BufferedImage e em seguida efetuamos uma chamada à função getWidth() para retornar a largura da imagem em pixels: ---------------------------------------------------------------------- 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.image.BufferedImage; import java.io.File; import java.io.IOException; import javax.imageio.ImageIO; public class Estudos{ public static void main(String args[]){ // vamos declarar um objeto da classe BufferedImage BufferedImage imagem = null; try{ // vamos carregar a imagem imagem = ImageIO.read(new File("C:\\estudos_java\\lago.jpg")); // vamos obter a largura da imagem em pixels System.out.println("Largura: " + imagem.getWidth() + " pixels"); } catch(IOException exc){ System.out.println("Erro ao carregar a imagem: " + exc.getMessage()); } } } Ao executar este código Java nós teremos o seguinte resultado: Largura: 400 pixels |
![]() |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Recursão (Recursividade) |
Exercícios Resolvidos de Java - Como calcular a potência de um número usando recursividade em Java - Funções recursivas em JavaQuantidade de visualizações: 4681 vezes |
Pergunta/Tarefa: A potenciação ou exponenciação é a operação de elevar um número ou expressão a uma dada potência. Escreva um método Java recursivo que recebe uma base e um expoente e eleva a base ao expoente. Seu método deverá possuir a seguinte assinatura: public static int potencia(int base, int expoente){ // sua implementação aqui } Sua saída deverá ser parecida com: Informe a base: 5 Informe o expoente: 3 A base 5 elevada ao exponente 3 é 125 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) { // cria um novo objeto da classe Scanner Scanner entrada = new Scanner(System.in); // solicita a base System.out.print("Informe a base: "); // lê a base int base = Integer.parseInt(entrada.nextLine()); // solicita o expoente System.out.print("Informe o expoente: "); // lê o expoente int expoente = Integer.parseInt(entrada.nextLine()); // mostra o resultado System.out.print("A base " + base + " elevada ao exponente " + expoente + " é " + potencia(base, expoente)); System.out.println("\n"); } // método recursivo que eleva uma base a um determinado expoente public static int potencia(int base, int expoente){ // a recursivida deve parar quando o expoente for igual a 1 if(expoente == 1){ return base; } else{ // efetua uma nova chamada recursiva fornecendo o expoente - 1 return base * potencia(base, expoente - 1); } } } |
Java ::: Pacote java.util ::: Iterator |
Como usar objetos da interface Iterator do Java em suas aplicaçõesQuantidade de visualizações: 2886 vezes |
Um objeto da interface Iterator<E>, no pacote java.util, é usado para percorrer os elementos de uma coleção. Um Iterator é usado com frequencia em substituição a um Enumeration. Há duas diferenças principais entre os dois: a) Um Iterator permite a remoção de elementos na coleção sendo percorrida no momento. b) Os métodos do Iterator são mais curtos e apresentam melhoria em relação aos métodos do Enumeration. As subinterfaces conhecidas de Iterator<E> são ListIterator<E> e XMLEventReader. As classes conhecidas que implementam esta interface são BeanContextSupport.BCSIterator, EventReaderDelegate e Scanner. Veja um trecho de código no qual usamos um Iterator para percorrer e exibir os valores dos elementos de uma ArrayList: ---------------------------------------------------------------------- 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.Iterator; 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 Iterator para a lista e percorrer todos os elementos for(Iterator<String> pessoa = pessoas.iterator(); pessoa.hasNext();){ System.out.println(pessoa.next()); } } } Ao executar este exemplo 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 ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes) |
Como criar, preencher e exibir os valores de uma matriz de duas dimensões de inteiros em Java - RevisadoQuantidade de visualizações: 12322 vezes |
Nesta dica mostrarei como declarar e instanciar uma matriz (array) de duas dimensões de ints em Java. Note que temos duas linhas e cada linha possui duas colunas. Neste exemplo os valores da matriz já estão pré-definidos, mas você pode ver mais dicas nessa seção para aprender como solicitar que o usuário informe os valores de cada linha de coluna. 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; public class Estudos{ public static void main(String[] args){ int valores[][] = {{1, 2, 3}, {4, 5, 6}}; // varre todos os elementos do array e os // exibe usando linhas e colunas for(int lin = 0; lin < valores.length; lin++){ for(int col = 0; col < valores[lin].length; col++){ System.out.printf("%d ", valores[lin][col]); } System.out.println(); } System.exit(0); } } Ao executar este exemplo nós teremos o seguinte resultado: 1 2 3 4 5 6 Esta dica foi revisada e testada no Java 8. |
Java ::: Fundamentos da Linguagem ::: Tipos de Dados |
Java para iniciantes - Como usar o tipo de dados boolean em seus códigos JavaQuantidade de visualizações: 22672 vezes |
O tipo de dados boolean representa dois valores lógicos representados pelos literais true ou false. Valores boolean são produzidos pelos operadores relacionais (<, <=, > e >=), condicionais (&& e ||), lógicos (& e |) e de igualdade (== e !=) e são usados para gerenciar o fluxo de controle durante a execução do programa. Veja um trecho de código exemplificando o uso deste tipo de dados: ---------------------------------------------------------------------- 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 class Estudos{ public static void main(String args[]){ boolean continuar = true; if(continuar == true){ System.out.println("Podemos continuar."); } else{ System.out.println("Vamos parar."); } System.exit(0); } } Quando quisermos testar se o valor de uma variável ou constante do tipo boolean é true, podemos omitir o operador e o literal. 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 ---------------------------------------------------------------------- if(continuar){ System.out.println("Podemos continuar."); } O mesmo vale para a negação: ---------------------------------------------------------------------- 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 ---------------------------------------------------------------------- if(!continuar){ System.out.println("Podemos parar."); } |
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 ::: Desafios e Lista de Exercícios Resolvidos ::: Laços de Repetição |
Exercício Resolvido de Java - Usando o laço while para pedir ao usuário que tente acertar um número aleatório entre 0 e 10 (incluindo) e mostrar a quantidade de tentativas feitasQuantidade de visualizações: 2524 vezes |
Pergunta/Tarefa: Escreva um programa Java que gera um número aleatório (randômico) entre 0 e 10 (incluindo estes dois valores) e peça ao usuário para adivinhá-lo. Use um laço while para registrar as tentativas feitas e, a cada tentativa, dê dicas informando se o número gerado é maior ou menor que a tentativa feita. Finalmente mostre a quantidade de tentativas feitas até que o número fosse acertado. Sua saída deverá ser parecida com a mostrada abaixo: Informe um número de 0 a 10: 5 Errou! Tente um número menor. Informe um número de 0 a 10: 2 Parabéns! Você acertou em 2 tentativas. 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 Exercicio { public static void main(String[] args) { // vamos fazer a leitura usando a classe Scanner Scanner entrada = new Scanner(System.in); // declaração das variáveis int tentativas = 0, numeroLido; boolean acertou = false; // vamos gerar um número aleatório entre 0 e 10 int numero = (int)(Math.random() * 11); // um laço while que repetirá até que o número seja acertado while(!acertou){ System.out.print("Informe um número de 0 a 10: "); numeroLido = Integer.parseInt(entrada.nextLine()); tentativas++; if(numeroLido == numero){ // acertou? System.out.println("Parabéns! Você acertou em " + tentativas + " tentativas."); acertou = true; } else if(numeroLido < numero){ // o número informado é menor que o número gerado System.out.println("Errou! Tente um número maior."); } else{ // o número informado é maior que o número gerado System.out.println("Errou! Tente um número menor."); } } System.out.println("\n"); } } |
Java ::: Java + MySQL ::: Metadados da Base de Dados (Database Metadata) |
Java MySQL - Como obter uma lista das funções numéricas (matemática) suportadas pelo MySQL usando o método getNumericFunctions() da interface DatabaseMetaDataQuantidade de visualizações: 5630 vezes |
Em algumas situações gostaríamos de, via código, obter uma lista das funções numéricas, ou seja, funções matemáticas, suportadas pelo MS SQL Server. Para isso podemos usar o método getNumericFunctions() da interface DatabaseMetaData. É importante observar que, no Sun Microsystem's JDBC Driver for MySQL, a interface DatabaseMetaData é implementada por uma classe do mesmo nome, no pacote com.mysql.jdbc.DatabaseMetaData. E esta classe implementa o método getNumericFunctions() de forma a retornar a lista de funções numéricas separadas por vírgulas. Veja um trecho de código Java no qual listamos todas as funções numéricas suportados no MySQL 5.0: ---------------------------------------------------------------------- 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 estudosbancodados; import java.sql.Connection; import java.sql.DatabaseMetaData; import java.sql.DriverManager; import java.sql.SQLException; 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 a lista de funções numéricas disponíveis // nesta versão do MySQL String funcoesNumericas = dbmd.getNumericFunctions(); // como a lista de funções está separada por vírgulas, vamos obter // uma matriz de strings String funcoes[] = funcoesNumericas.split(","); // vamos mostrar o resultado for(int i = 0; i < funcoes.length; i++){ System.out.println(funcoes[i]); } } 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); } } } Ao executarmos este código teremos o seguite resultado: ABS ACOS ASIN ATAN ATAN2 BIT_COUNT CEILING COS COT DEGREES EXP FLOOR LOG LOG10 MAX MIN MOD PI POW POWER RADIANS RAND ROUND SIN SQRT TAN TRUNCATE |
Java ::: Classes e Componentes ::: JTextArea |
Java Swing - Como adicionar um JPopupMenu a um JTextAreaQuantidade de visualizações: 10038 vezes |
Neste exemplo mostrarei como é possível associar um JPopupMenu a um JTextArea. Dessa forma, quando clicarmos com o botão auxiliar na área de texto, nós teremos algumas opções de menu, tais como copiar, colar, selecionar tudo, etc. Veja o resultado na imagem abaixo: ![]() E aqui está o código Java Swing 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 javax.swing.*; import java.awt.*; import java.awt.event.*; public class Estudos extends JFrame{ JTextArea textArea; JPopupMenu popup; JMenuItem selecionar; public Estudos() { super("Uso de JPopupMenu em um JTextArea"); Container c = getContentPane(); FlowLayout layout = new FlowLayout(FlowLayout.LEFT); c.setLayout(layout); textArea = new JTextArea(10, 20); JScrollPane scrollPane = new JScrollPane(textArea); textArea.addMouseListener( new MouseAdapter(){ @Override public void mouseReleased(MouseEvent e){ if(e.isPopupTrigger()) popup.show(e.getComponent(), e.getX(), e.getY()); } } ); // cria o JPopupMenu popup = new JPopupMenu(); selecionar = new JMenuItem("Selecionar Tudo"); selecionar.addActionListener( new ActionListener(){ @Override public void actionPerformed(ActionEvent ev){ textArea.requestFocus(); textArea.selectAll(); } } ); popup.add(selecionar); // fim menu c.add(scrollPane); setSize(350, 250); setVisible(true); } public static void main(String args[]){ Estudos app = new Estudos(); app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } } |
Vamos testar seus conhecimentos em Engenharia Civil - Construção Civil |
Formas: Confecção e colocação O concreto deve estar curado e liberado para a remoção das formas segundo recomendações técnicas. Quando não se utiliza concreto especial ou aditivo acelerador de pega, para vigas de pequeno vão, qual é o prazo mínimo para a retirada das formas inferiores, com a manutenção das principais escoras? A) Cinco dias. B) Sete dias. C) Dez dias. D) Quatorze dias. E) Vinte e um dias. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Ética e Legislação Profissional |
Introdução à Ética Aristóteles viveu entre grandes personalidades, já que foi discípulo de Platão e mestre de Alexandre, O Grande. Suas reflexões giravam em torno da política, da ética e da metafísica, e foram tão importantes que na atualidade influenciam campos científicos diversos, da política à biologia, passando, é claro, pela filosofia. Considerando essas informações, analise as afirmativas a seguir. I - Aristóteles foi o primeiro filósofo a elaborar tratados sistemáticos de ética, como a Ética a Nicômaco. II - Aristóteles investiga o que é a felicidade, e ela deve ser um bem perfeito que se busca por si mesmo, e não como meio para outra coisa. III - Ele partilhava da ideia de que uma pessoa virtuosa precisa viver numa sociedade regida por Deus, porque a ética não pode desvincular-se da religião. Está correto apenas o que se afirma em: A) I e II, apenas. B) III, apenas. C) I, apenas. D) II, apenas. E) II e III, apenas. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Engenharia Civil - Estruturas de Aço e Madeira |
Evolução das estruturas No final do século XIX, a alvenaria utilizada nas grossas paredes portantes e nas cúpulas, começa a perder a sua importância e seu destaque nas construções. Assinale abaixo a alternativa correta quanto às razões deste fato: Selecione a resposta: A) O alto custo deste sistema devido à mão de obra especializada. B) O longo tempo de execução dos arranha-céus executados em alvenaria de pedra. C) A dificuldade em transportar e em armazenar o material para a execução da estrutura. D) A possibilidade da construção de altos edifícios nos centros urbanos, feitos em aço. E) A inadequação estética conforme os movimentos artísticos da época. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Fenômeno de Transportes e Hidráulica |
Fórmula de Chézy Um canal reto e retangular tem 2,1m de largura e 1,2m de profundidade e está com uma declividade de fundo de 3°. Sendo o fator de atrito igual a 0,022, a vazão para escoamento uniforme será: A) 23,97m3/s. B) 25,78m3/s. C) 30,87m3/s. D) 37,00m3/s. E) 37,55m3/s. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em |
Dimensionamento de lajes maciças à flexão Determinadas estruturas, como as empregadas em pavimentos de garagens de edificações residenciais, demandam o emprego de vãos maiores entre os pilares, de modo a garantir espaço para a manobra dos veículos. A partir disso, analise as afirmativas a seguir: I. O acréscimo de altura nas seções transversais é a solução mais empregada para aumentar a rigidez da laje e, desse modo, aumentar a capacidade desta em resistir aos esforços de flexão. PORÉM II. O acréscimo de altura provoca o aparecimento de sobrecargas na laje, sendo necessário proceder ao redimensionamento da estrutura, de modo a verificar se os critérios de segurança e serviço serão atendidos. Assinale a alternativa correta: A) As afirmações I e II são proposições verdadeiras, mas a II não justifica a I. B) As afirmações I e II são proposições verdadeiras e a II justifica a I. C) A afirmativa I é uma proposição verdadeira, e a II, falsa. D) A afirmação II é uma proposição verdadeira, e a I, falsa. E) As afirmações I e II são proposições falsas. 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 |
JavaScript - Como elevar uma base a um determinado expoente usando o método pow() do objeto Math do JavaScript VB.NET - Como calcular o coeficiente angular de uma reta em VB.NET dados dois pontos no plano cartesiano |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |