Você está aqui: Java ::: Perguntas e Respostas ::: Programação Orientada a Objetos |
É possível termos um método abstrato em uma classe Java não abstrata?Quantidade de visualizações: 696 vezes |
A linguagem Java permite marcar um método como abstract sem marcar a classe a qual este método pertence também como abstract? Antes de respondermos, veja o seguinte código: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- package arquivodecodigos; public class Boleto { public void imprimir(String texto){ System.out.println(texto); } public abstract void calcular(); } Este código não compila e nos exibe a seguinte mensagem de erro: error: Boleto is not abstract and does not override abstract method calcular() in Boleto Então, a resposta é: Não, a linguagem Java nos força a marcar uma classe como abstract se ela possuir no mínimo um método abstract. Veja o código novamente: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- package arquivodecodigos; public abstract class Boleto { public void imprimir(String texto){ System.out.println(texto); } public abstract void calcular(); } Agora o código compila normalmente. Note, porém, que uma classe abstrata pode ter métodos não abstratos. |
Link para compartilhar na Internet ou com seus amigos: |
Java ::: Dicas & Truques ::: Strings e Caracteres |
Como testar se uma string Java está toda em letras maiúsculas ou minúsculas usando as funções Character.isWhitespace() e Character.isUpperCase()Quantidade de visualizações: 40 vezes |
Nesta dica mostrarei como podemos combinar um laço e as funções Character.isWhitespace() e Character.isUpperCase() para testar se uma palavra, frase ou texto está toda em letras maiúsculas em Java. Veja o código completo para o exemplo: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- package estudos; public class Estudos { public static void main(String[] args) { // Este exemplo mostra como verificar se uma // string está toda em letras maiúsculas String frase = "PROGRAMANDO EM JAVA"; boolean maiusculas = true; for (int i = 0; i < frase.length(); i++) { Character caractere = frase.charAt(i); if (Character.isWhitespace(caractere)) { continue; } if (!Character.isUpperCase(caractere)) { maiusculas = false; break; } } if (maiusculas) { System.out.println("A string esta toda em letras maiusculas"); } else{ System.out.println("A string NAO esta toda em letras maiusculas"); } } } Ao executar este código Java nós teremos o seguinte resultado: A string está toda em letras maiúsculas |
Java ::: Java para Engenharia ::: Geometria Analítica e Álgebra Linear |
Como somar os elementos da diagonal principal de uma matriz em JavaQuantidade de visualizações: 2774 vezes |
A Matriz quadrada é um tipo especial de matriz que possui o mesmo número de linhas e o mesmo número de colunas, ou seja, dada uma matriz Anxm, ela será uma matriz quadrada se, e somente se, n = m, onde n é o número de linhas e m é o número de colunas. Em geral as matrizes quadradas são chamadas de Matrizes de Ordem n, onde n é o número de linhas e colunas. Dessa forma, uma matriz de ordem 4 é uma matriz que possui 4 linhas e quatro colunas. Toda matriz quadrada possui duas diagonais, e elas são muito exploradas tanto na matemática quanto na construção de algorítmos. Essas duas diagonais são chamadas de Diagonal Principal e Diagonal Secundária. A diagonal principal de uma matriz quadrada une o seu canto superior esquerdo ao canto inferior direito. Veja: Nesta dica veremos como calcular a soma dos valores dos elementos da diagonal principal de uma matriz usando Java. Para isso, só precisamos manter em mente que a diagonal principal de uma matriz A é a coleção das entradas Aij em que i é igual a j. Assim, tudo que temos a fazer é converter essa regra para código Java. Veja um trecho de código Java completo no qual pedimos para o usuário informar os elementos da matriz e em seguida mostramos a soma dos elementos da diagonal superior: ---------------------------------------------------------------------- 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{ public static void main(String[] args) { // vamos fazer a leitura usando a classe Scanner Scanner entrada = new Scanner(System.in); // vamos declarar e construir uma matriz de três linhas e três colunas int matriz[][] = new int[3][3]; int soma_diagonal = 0; // guarda a soma dos elementos na diagonal principal // vamos ler os valores para os elementos da matriz for(int i = 0; i < matriz.length; i++){ // linhas for(int j = 0; j < matriz[0].length; j++){ // colunas System.out.print("Informe o valor para a linha " + i + " e coluna " + j + ": "); matriz[i][j] = Integer.parseInt(entrada.nextLine()); } } // vamos mostrar a matriz da forma que ela // foi informada System.out.println(); // percorre as linhas for(int i = 0; i < matriz.length; i++){ // percorre as colunas for(int j = 0; j < matriz[0].length; j++){ System.out.printf("%5d ", matriz[i][j]); } // passa para a próxima linha da matriz System.out.println(); } // vamos calcular a soma dos elementos da diagonal // principal for(int i = 0; i < matriz.length; i++){ for(int j = 0; j < matriz[0].length; j++){ if(i == j){ soma_diagonal = soma_diagonal + matriz[i][j]; } } } // finalmente mostramos a soma da diagonal principal System.out.println("\nA soma dos elementos da diagonal principal é: " + soma_diagonal); } } Ao executar este código Java nós teremos o seguinte resultado: Informe o valor para a linha 0 e coluna 0: 3 Informe o valor para a linha 0 e coluna 1: 7 Informe o valor para a linha 0 e coluna 2: 9 Informe o valor para a linha 1 e coluna 0: 2 Informe o valor para a linha 1 e coluna 1: 4 Informe o valor para a linha 1 e coluna 2: 1 Informe o valor para a linha 2 e coluna 0: 5 Informe o valor para a linha 2 e coluna 1: 6 Informe o valor para a linha 2 e coluna 2: 8 3 7 9 2 4 1 5 6 8 A soma dos elementos da diagonal principal é: 15 |
Java ::: Pacote java.net ::: HttpURLConnection |
Como usar o método GET da classe HttpURLConnection do Java para enviar dados a uma página PHP, JSP, ASP.NET, etcQuantidade de visualizações: 6499 vezes |
Em algumas situações gostaríamos de enviar uma solicitação HTTP do tipo GET a uma página PHP, JSP, ASP.NET, etc, a partir de nossos programas Java. Para isso podemos usar um objeto da classe HttpURLConnection. Para este exemplo eu mostrarei como enviar uma requisição GET para uma página PHP e retornar o resultado da soma de dois números. Comece analisando o código para o documento somar.php: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- <?php // obtém o primeiro valor $a = (int)$_GET["a"]; // obtém o primeiro valor $b = (int)$_GET["b"]; // vamos somar e mostrar o resultado $soma = $a + $b; echo "A soma dos dois números é: " . $soma; ?> Este código PHP não apresenta muitos segredos: obtemos dois números passados via GET, efetuamos a soma dos dois e escrevemos o resultado na página. Veja agora o código completo para a aplicação Java: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- package arquivodecodigos; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.MalformedURLException; import java.net.URL; public class Principal { public static void main(String[] args) { int n1 = 10, n2 = 25; URL url; HttpURLConnection connection = null; BufferedReader in = null; try { url = new URL("http://www.arquivodecodigos.com.br/somar.php?a=" + n1 + "&b=" + n2); // vamos efetuar a conexão à URL especificada connection = (HttpURLConnection)url.openConnection(); // em alguns servidores nós precisamos adicionar o User-Agent para evitar // o erro 403 Forbidden // HttpURLConnection : Server return HTTP 403 Forbidden connection.addRequestProperty("User-Agent", "Mozilla/5.0 (Windows NT 6.1; " + "WOW64; rv:221.0) Gecko/20100101 Firefox/31.0"); // vamos obter o retorno da conexão String linha; in = new BufferedReader(new InputStreamReader(connection.getInputStream())); while((linha = in.readLine()) != null) { System.out.println(linha); } } catch (MalformedURLException ex) { System.out.println("A URL está mal formada: " + ex.getMessage()); } catch (IOException ex) { System.out.println("Não foi possível efetuar a conexão: " + ex.getMessage()); } finally { if(in != null) { try { in.close(); } catch (IOException ex) { System.out.println("Não consegui fechar o stream de saída: " + ex.getMessage()); } } connection.disconnect(); } } } Ao executar o programa, teremos uma mensagem no console parecida com: A soma dos dois números é: 35 |
Vamos testar seus conhecimentos em Ética e Legislação Profissional |
O código de ética profissional: Concorrência As empresas, como instituições jurídicas, também têm importante papel junto à sociedade. O cumprimento desse papel social ocorre quando a organização, sendo uma atividade econômica devidamente regulamentada e organizada, ___________________. Marque a alternativa que completa a frase corretamente. A) gera empregos, distribui renda, efetua o recolhimento dos tributos conforme os resultados obtidos. B) terceiriza suas atividades, distribui renda, efetua o recolhimento dos tributos conforme a exigência legal. C) gera empregos, distribui renda, efetua o recolhimento dos tributos conforme a exigência legal. D) gera empregos, distribui igualitariamente a renda, efetua o recolhimento dos tributos conforme a exigência legal. E) garante o emprego para a mão de obra desqualificada, distribui renda, efetua o recolhimento dos tributos conforme a exigência legal. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Hidrologia |
(CEBRASPE - 2024 - ITAIPU - Técnico em Hidrologia) A tabela a seguir apresenta os dados de precipitação mensal, com as respectivas quantidades de ocorrência, coletados em um posto de meteorologia, ao longo de determinado período. A partir dos dados da tabela, é correto afirmar que a média ponderada da precipitação, no período de coleta, foi: A) inferior a 1.000 mm. B) superior a 1.000 mm e inferior a 1.500 mm. C) superior a 1.500 mm e inferior a 2.000 mm. D) superior a 2.000 mm e inferior a 2.500 mm. E) superior a 2.500 mm. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Fenômeno de Transportes e Hidráulica |
Viscosidade dinâmica A viscosidade dinâmica é uma substância dada em função do aumento das tensões de cisalhamento aplicadas à substância. A proporção em que o fluido se deforma em função do tempo é chamada de: A) velocidade do fluido. B) viscosidade do fluido. C) taxa de deformação do fluido. D) densidade do fluido. E) força aplicada ao fluido. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Python |
Qual instrução é usada para interromper um laço em Python? A) return B) catch C) break D) continue E) exit Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em |
Domínios de Deformações O dimensionamento de uma seção transversal de um elemento linear concreto armado, sujeito a solicitações normais, de acordo com a NBR 6118 - "Projeto de estruturas de concreto" - é realizado com base em hipóteses básicas. A respeito dessas hipóteses, analise as informações a seguir, indicando V para as verdadeiras e F para as falsas: ( ) A distribuição das deformações ocorre de forma não linear ao longo da altura da seção. ( ) As deformações nas barras de armadura são idênticas às deformações do concreto que as envolve. ( ) Admite-se que todas as tensões de tração existentes serão resistidas pelo concreto e pela armadura. ( ) Adota-se o diagrama parábola-retângulo idealizado para o concreto comprimido. Assinale a alternativa que contém a sequência correta: A) V - V - F - F. B) V - F - F - F. C) F - V - F - V. D) F - V - V - V. E) V - F - F - V. 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 |
Android Java - Como detectar um clique em um botão do Android usando o evento onClick no XML de layout C - Como escrever uma função is_numeric() em C que verifica se uma string contém apenas dígitos de 0 a 9 |
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 |