Você está aqui: Java ::: Dicas & Truques ::: Data e Hora |
Como testar a validade de uma data usando as classes Calendar e SimpleDateFormatQuantidade de visualizações: 11041 vezes |
É comum recebermos valores de datas inseridos pelos usuários e repassarmos estes valores para as regras de negócio de nossas aplicações. Contudo, antes disso, precisamos nos certificar de que tanto o formato quanto os valores das datas estão de acordo com as regras impostas pelo aplicativo. Nesta dica mostraremos como usar o método parse() da classe SimpleDateFormat para avaliar uma string contendo uma data no formato 22/10/2007. Se o formato da data estiver correto e esta for uma data válida, o método parse() retornará um objeto Date que usaremos para inicializar o estado interno de um objeto da classe Calendar (usando o método setTime()). Se tanto o formato ou a validade da data não estiver de acordo com as regras, uma exceção ParseException será atirada. Veja o código: import java.util.*; import java.text.*; public class Estudos{ public static void main(String args[]){ // vamos validar a data "35/10/2008" String dataString = "35/10/2008"; try{ Calendar data = Calendar.getInstance(); SimpleDateFormat formato = new SimpleDateFormat("dd/MM/yyyy"); formato.setLenient(false); data.setTime(formato.parse(dataString)); System.out.println(formato.format(data.getTime())); } catch(ParseException e){ System.out.println("Data Inválida."); } } } |
![]() |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Arquivos e Diretórios |
Exercícios Resolvidos de Java - Um programa que recebe um caminho e nome de um arquivo e retorna apenas o caminho, sem o nome e extensão do arquivoQuantidade de visualizações: 7494 vezes |
Pergunta/Tarefa: Escreva um método Java que recebe um caminho e nome de arquivo na forma: "C:\temporario\Java\dica.txt" e retorne apenas o caminho do arquivo, sem o nome e extensão do arquivo. Assim, para o caminho acima, o retorno deve ser apenas: "C:\temporario\Java" Eis a assinatura do método a ser criado: public static String getCaminho(String caminho); 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.io.File; public class Main { public static void main(String[] args) { // define um caminho e nome de arquivo String caminho = "C:\\temporario\\Java\\dica.txt"; // vamos retornar apenas o caminho do arquivo, ou seja, retirar o // nome do arquivo String caminhoFinal = getCaminho(caminho); // vamos mostrar o resultado System.out.println("O caminho do arquivo é: " + caminhoFinal); } public static String getCaminho(String caminho){ // vamos obter o índice da última ocorrência do separador de caminho int pos = caminho.lastIndexOf(File.separatorChar); if (pos > -1) { return caminho.substring(0, pos); } // por padrão vamos retornar uma string vazia return ""; } } Uma variação deste exercício é a criação de um método que recebe o caminho e nome do arquivo e retorne apenas o nome do arquivo, seguido por sua extensão. |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Java Básico |
Exercícios Resolvidos de Java - Um programa Java que solicita ao usuário que informe sua idade em anos, meses e dias e mostre sua idade em diasQuantidade de visualizações: 13947 vezes |
Pergunta/Tarefa: Escreva um programa Java que solicite ao usuário que informe sua idade em anos, meses e dias, ou seja, sua idade atual em anos e a quantidade de meses e dias decorridos desde seu aniversário. Seu programa deverá exibir uma saída parecida com: Informe sua idade em anos, meses e dias Anos: 25 Meses: 2 Dias: 12 Idade expressa em dias: 9197 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 idade em anos, meses e dias; int anos, meses, dias; int idade_dias; // guardará a idade em dias System.out.println("Informe sua idade em anos, meses e dias"); // obtém os anos System.out.print("Anos: "); anos = Integer.parseInt(entrada.nextLine()); // obtém os meses System.out.print("Meses: "); meses = Integer.parseInt(entrada.nextLine()); // obtém os dias System.out.print("Dias: "); dias = Integer.parseInt(entrada.nextLine()); // vamos calcular a idade em dias idade_dias = (anos * 365) + (meses * 30) + dias; // vamos exibir o resultado System.out.println("Idade expressa em dias: " + idade_dias); } |
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); } |
Java ::: Dicas & Truques ::: Strings e Caracteres |
Apostila de Java - Como retornar uma substring em Java usando o método substring() da classe StringQuantidade de visualizações: 215 vezes |
Nesta dica eu mostro como podemos obter parte de uma palavra, frase ou texto, ou seja, extrair uma substring a partir de uma string. Para isso nós podemos usar o método substring() da classe String da linguagem Java. Esta função recebe o índice inicial (começando em 0) e o índice final (também começando em 0). O retorno será a substring contida entre estes índices. 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; public class Estudos{ public static void main(String[] args){ String frase = "Programar em Java é muito bom"; System.out.println("Frase: " + frase); // obtém a palavra Java String res = frase.substring(13, 17); System.out.println("Substring obtida: " + res); System.exit(0); } } Ao executar este código Java nós teremos o seguinte resultado: Frase: Programar em Java é muito bom Substring obtida: Java |
Java ::: Pacote java.lang ::: String |
Java Avançado - Como usar o método getBytes() da classe String para obter uma sequência de valores do tipo byteQuantidade de visualizações: 8547 vezes |
Em algumas situações gostaríamos de obter os caracteres de uma string como uma representação de inteiros em bytes. Para isso podemos usar o método getBytes(). Veja sua assinatura:public byte[] getBytes() ---------------------------------------------------------------------- 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 Main { public static void main(String[] args) { // vamos declarar um objeto da classe String String palavra = "Arquivo"; // vamos obter os bytes usados na palavra anterior byte bytes[] = palavra.getBytes(); // vamos percorrer a matriz de bytes e mostrá-los individualmente for(int i = 0; i < bytes.length; i++){ System.out.print(bytes[i] + " "); } } } Ao executarmos este código teremos o seguinte resultado: 65 114 113 117 105 118 111 De fato, o valor 65 é o código inteiro para o caractere "A". É importante observar que alguns caracteres não cabem em um byte (que possui o valor 127 como maior valor inteiro). Isso resulta na conversão para valores negativos. Há outras duas sobrecargas do método getBytes() da classe String. A primeira: byte[] getBytes(Charset charset) byte[] getBytes(String charsetName) |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Java Básico |
Exercício Resolvido de Java - Um programa Java que calcula qual o menor número possível de notas de 100, 50, 10, 5 e 1 em que o valor a ser sacado pode ser decompostoQuantidade de visualizações: 15812 vezes |
Pergunta/Tarefa: Escreva um programa Java que lê um valor inteiro e simule o comportamento de um caixa eletrônico, ou seja, calcule qual o menor número possível de notas de 100, 50, 10, 5 e 1 em que o valor a ser sacado pode ser decomposto. Seu programa deverá exibir uma saída parecida com: Informe o valor do saque (valor inteiro): 139 O valor do saque pode ser expresso em: 1 notas de 100 0 notas de 50 3 notas de 10 1 notas de 5 4 notas de 1 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 quantidade de notas de 100, 50, 10, 5 e 1; int cem = 0, cinquenta = 0, dez = 0, cinco = 0, um = 0; int valor; // guarda o valor lido int temp; // variável auxiliar // vamos solicitar o valor a ser sacado System.out.print("Informe o valor do saque (valor inteiro): "); // vamos ler o valor do saque valor = Integer.parseInt(entrada.nextLine()); // inicializa a variável temporária temp = valor; // quantas notas de 100? if(temp >= 100){ cem = valor / 100; temp = valor % 100; } // quantas notas de 50? if(temp >= 50){ cinquenta = temp / 50; temp = temp % 50; } // quantas notas de 10? if(temp >= 10){ dez = temp / 10; temp = temp % 10; } // quantas notas de 5? if(temp >= 5){ cinco = temp / 5; temp = temp % 5; } // quantas notas de 1? if(temp >= 1){ um = temp / 1; } // vamos exibir o resultado System.out.println("O valor do saque pode ser expresso em:"); System.out.printf("%d notas de 100\n", cem); System.out.printf("%d notas de 50\n", cinquenta); System.out.printf("%d notas de 10\n", dez); System.out.printf("%d notas de 5\n", cinco); System.out.printf("%d notas de 1\n", um); } |
Java ::: Dicas & Truques ::: Trigonometria - Funções Trigonométricas |
Como calcular a área de um círculo em Java dado o raio do círculoQuantidade de visualizações: 37012 vezes |
A área de um círculo pode ser calculada por meio do produto entre a constante PI e a medida do raio ao quadrado (r2). Comece analisando a figura abaixo:![]() Sendo assim, temos a seguinte fórmula: ![]() Onde A é a área, PI equivale a 3,14 (aproximadamente) e r é o raio do círculo. O raio é a medida que vai do centro até um ponto da extremidade do círculo. O diâmetro é a medida equivalente ao dobro da medida do raio, passando pelo centro do círculo e dividindo-o em duas partes. A medida do diâmetro é 2 * Raio. Veja agora um código Java completo que calcula a área de um círculo mediante a informação do raio: ---------------------------------------------------------------------- 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.util.Scanner; public class Estudos{ public static void main(String[] args){ double area, raio; Scanner in = new Scanner(System.in); System.out.print("Informe o raio do círculo: "); raio = Float.parseFloat(in.nextLine()); area = Math.PI * Math.pow(raio, 2); System.out.println("A area do círculo de raio " + raio + " é igual a " + area); System.exit(0); } } Ao executarmos este código nós teremos o seguinte resultado: Informe o raio do círculo: 5 A area do círculo de raio 5.0 é igual a 78.53981633974483 A circunferência é um conjunto de pontos que estão a uma mesma distância do centro. Essa distância é conhecida como raio. A circunferência é estudada pela Geometria Analítica e, em geral, em um plano cartesiano. O círculo, que é formado pela circunferência e pelos infinitos pontos que preenchem seu interior, é estudado pela Geometria Plana, pois ele ocupa um espaço e pode ter sua área calculada, diferentemente da circunferência. |
Java ::: Coleções (Collections) ::: ArrayList |
Como testar se a ArrayList do Java está vazia usando a função isEmpty() - Java ArrayList para iniciantesQuantidade de visualizações: 18820 vezes |
Neste exemplo mostrarei como usar o método isEmpty() da classe ArrayList para verificar se a lista está vazia, ou seja, não contem nenhum elemento. Este método retorna true se a ArrayList estiver vazia e false em caso contrário. Veja o exemplo a seguir: ---------------------------------------------------------------------- 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_java; import java.util.ArrayList; public class Estudos{ public static void main(String[] args){ // cria uma ArrayList que conterá strings ArrayList<String> nomes = new ArrayList<>(); // adiciona itens na lista nomes.add("Carlos"); nomes.add("Maria"); nomes.add("Fernanda"); nomes.add("Osmar"); nomes.add("Maria"); // Verifica se a ArrayList está vazia if(nomes.isEmpty()){ System.out.println("A ArrayList está vazia."); } else{ System.out.println("A ArrayList não está vazia."); } System.exit(0); } } Ao executar este código Java nós teremos o seguinte resultado: A ArrayList não está vazia. |
Desafios, Exercícios e Algoritmos Resolvidos de Java |
Veja mais Dicas e truques de Java |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |