Para cada um dos problemas a seguir, construa um programa em Java para resolver o que se pede.
Lembre-se de, primeiramente, determinar quais são os dados de entrada e se for o caso solicitá-los ao usuário. Determine também o que deve ser processado e, finalmente, o que deve ser exibido ao usuário.
Nível 1:
1. Determine qual é a idade que o usuário faz no ano atual. Para isso solicite ao usuário o seu ano de nascimento e o ano atual.
// Autor: Henrique Monteiro Cristovão package exercicio01; import java.util.Scanner; public class Principal { public static void main(String[] args) { int anoAtual, anoNascimento, qtdeAnos; System.out.println("Entre com o ano atual:"); anoAtual = new Scanner(System.in).nextInt(); System.out.println("Entre com o ano de nascimento:"); anoNascimento = new Scanner(System.in).nextInt(); qtdeAnos = anoAtual - anoNascimento; System.out.println("Em "+anoAtual+" você faz (ou já fez) "+qtdeAnos+" anos!"); } }
2. (responsável: Anderson Furlane) Calcule a quantidade de salários mínimos que um determinado funcionário ganha.
import java.util.Scanner; //Anderson F. Martins public class exer_2 { public static void main(String[] args) { int salario,cont=0; System.out.println("Quanto voce ganha?"); salario= new Scanner(System.in).nextInt(); while(salario >= 380) { salario= salario - 380; cont = cont + 1; } System.out.println("A quantidade de salarios minimos sao: " +cont); } }
3. (responsável: Anderson Lourenço ) solicite a quantidade de homens e de mulheres de uma turma qualquer da faculdade. Em seguida calcule e exiba o percentual (separadamente) de homens e mulheres desta turma.
// Resolução Geraldo Gaúna e Julia Zerbini package exercicio3; import java.util.Scanner; public class Principal { /* 3. Solicite a quantidade de homens e de mulheres de uma turma qualquer da faculdade. Em seguida calcule e exiba o percentual (separadamente) de homens e mulheres desta turma */ public static void main(String[] args) { double qtdeHomens, qtdeMulheres, porcentagemh, porcentagemm; System.out.println("Insira a quantidade de mulheres "); qtdeMulheres = new Scanner(System.in).nextDouble(); System.out.println("Insira a quantidade de Homens"); qtdeHomens = new Scanner(System.in).nextDouble(); porcentagemm = ((qtdeMulheres*100/(qtdeHomens+qtdeMulheres))); porcentagemh = ((qtdeHomens*100/(qtdeHomens+qtdeMulheres))); System.out.println("A porcentagem de Mulheres é: "+porcentagemm); System.out.println("A porcnetagem de Homens é: " +porcentagemh); } }
4. (responsável: Antenor ) Determine a média aritmética de um aluno com 4 notas.
//*Antenor */ package listaex4; import java.util.Scanner; public class Principal { public static void main(String[] args) { double not1, not2, not3, not4, media; System.out.println("Entre com a primeira nota"); not1 = new Scanner(System.in).nextInt(); System.out.println("Entre com a segunda nota"); not2 = new Scanner(System.in).nextInt(); System.out.println("Entre com a terceira nota"); not3 = new Scanner(System.in).nextInt(); System.out.println("Entre com a quarta nota"); not4 = new Scanner(System.in).nextInt(); media = (not1 + not2 + not3 + not4)/4; System.out.println("A media de sua nota é:" +media); } }
5. (responsável: Bruno Busato ) Calcule o valor final de uma dívida. Para isto pergunte ao usuário o valor inicial do débito, a quantidade de meses e os juros mensais. Use o calculo de juros simples.
/* Autor: bruno */ import java.util.Scanner; public class Principal { public static void main(String[] args) { double valorinicial, quantmeses, juros, divida; System.out.println("Digite o valor inicial do débito;"); valorinicial = new Scanner(System.in).nextDouble(); System.out.println("Digite a quantidade de meses;"); quantmeses = new Scanner(System.in).nextDouble(); System.out.println("Digite o valor do juros mensal;" ); juros = new Scanner(System.in).nextDouble(); divida = (valorinicial*(juros/100)+valorinicial)*quantmeses; System.out.println(divida); } }
Nível 2:
6. A partir de 3 notas fornecidas de um aluno, informe se ele foi aprovado, ficou de recuperação ou foi reprovado. A média de aprovação é >= 7.0; a média de recuperação é >= 5.0 e < 7.0; e a média do reprovado é < 5.0
/* Autor: Henrique Monteiro Cristovão */ package exercicio06; import java.util.Scanner; public class Principal { public static void main(String[] args) { double nota1, nota2, nota3, media; System.out.println("Entre com a primeira nota:"); nota1 = new Scanner(System.in).nextDouble(); System.out.println("Entre com a segunda nota:"); nota2 = new Scanner(System.in).nextDouble(); System.out.println("Entre com a terceira nota:"); nota3 = new Scanner(System.in).nextDouble(); media = (nota1+nota2+nota3)/3; if(media >= 7) { System.out.println("Aprovado com média "+media); } else if(media >=5) { System.out.println("Recuperação com média "+media); } else { System.out.println("Reprovado com média "+media); } } }
7. (responsável: Bruno Cardoso ) Acrescente no problema anterior possibilidade dele fazer prova final em caso de recuperação. Neste caso a nota de aprovação passa a ser >= 5.0
package lista; import java.util.Scanner; public class Principal { public static void main(String[] args) { double nota1, nota2, nota3, media, provafinal; System.out.println("Entre com a primeira nota:"); nota1 = new Scanner(System.in).nextDouble(); System.out.println("Entre com a segunda nota:"); nota2 = new Scanner(System.in).nextDouble(); System.out.println("Entre com a terceira nota:"); nota3 = new Scanner(System.in).nextDouble(); media = (nota1+nota2+nota3)/3; if(media >= 7) { System.out.println("Aprovado com média "+media); } else if(media >=5) { System.out.println("Você ficou de recuperação com a media" +media); System.out.println("Entre com a nota da prova final"); provafinal = new Scanner(System.in).nextDouble(); media = (media*6 + provafinal*4)/10; if (media >=5){ System.out.println("Aprovado com a média" +media); } else { System.out.println("Voce foi reprovado" +media); } } else { System.out.println("Reprovado com média "+media); } } }
8. (responsável: Bruno Correa ) Verifique a validade de uma data de aniversário (solicite apenas o número do dia e do mês). Além de falar se a data está ok, informe também o nome do mês.
Dica: meses com 30 dias: abril, junho, setembro e novembro.
// Alteração feita com a ajuda de Henrique dia 22/10/07
package ex8;
import java.util.Scanner;
public class Principal{
public static void main (String[] args){
double dia, mes;
System.out.println("Entre com a dia");
dia = new Scanner(System.in).nextDouble();
System.out.println("Entre com o mês");
mes = new Scanner(System.in).nextDouble();
if (dia <32 && mes == 1){
System.out.println("O mes é Janeiro");
}
else if (dia <29 && mes == 2){
System.out.println("O mês é Fevereiro");
}
else if (dia <31 && mes == 3){
System.out.println("O mês é Março");
}
else if (dia <31 && mes == 4){
System.out.println("O mês é Abril");
}
else if (dia <32 && mes == 5){
System.out.println("O mês é Maio");
}
else if (dia <31 && mes == 6){
System.out.println("O mês é Junho");
}
else if (dia <32 && mes == 7){
System.out.println("O mês é Julho");
}
else if (dia <32 && mes == 8){
System.out.println("O mês é Agosto");
}
else if (dia <31 && mes == 9){
System.out.println("O mês é Setembro");
}
else if (dia <32 && mes == 10){
System.out.println("O mês é Outubro");
}
else if (dia <31 && mes == 11){
System.out.println("O mês é Novembro");
}
else if (dia <32 && mes == 12){
System.out.println("O mês é Dezembro");
}
else if (dia <= 0 || mes <= 0){
System.out.println("Verifique sua data!");
}
else {
System.out.println("Erro de digitação, entre novamente com os valores");
}
}}
9. (responsável: Bryan ) Acrescente no exercício anterior a apresentação do signo do horóscopo da pessoa.
10. (responsável: Caroline ) Inclua no exercício anterior a solicitação do ano de nascimento e também da data de hoje. A partir destas informações, apresente a idade atual desta pessoa.
package Nivel2; /*10. Inclua no exercício anterior a solicitação do ano de nascimento e também da data de hoje. A partir destas informações, apresente a idade atual desta pessoa. */import java.util.Scanner; public class ex10 { public static void main(String[] args) { int idade, idade2, anoHoje, mesHoje, diaHoje, ano, mes, dia, valido = 0; String mês = null; String signo = null; System.out.println("Diga o dia do seu aniversário:"); dia = new Scanner(System.in).nextInt(); System.out.println("Dia o mês do seu aniversário (1,2,3...):"); mes = new Scanner(System.in).nextInt(); System.out.println("Diga o ano que você nasceu:"); ano = new Scanner(System.in).nextInt(); if(mes == 1){ mês = "Janeiro"; } else if(mes == 2){ mês = "Fevereiro"; } else if(mes == 3){ mês = "Março"; } else if(mes == 4){ mês = "Abril"; } else if(mes == 5){ mês = "Maio"; } else if(mes == 6){ mês = "Junho"; } else if(mes == 7){ mês = "Julho"; } else if(mes == 8){ mês = "Agosto"; } else if(mes == 9){ mês = "Setembro"; } else if(mes == 10){ mês = "Outubro"; } else if(mes == 11){ mês = "Novembro"; } else if(mes == 12){ mês = "Dezembro"; } if((mes == 1)||(mes == 3)||(mes == 5)||(mes == 7)||(mes == 8)||(mes == 10)||(mes == 12)){ if(dia > 31){ System.out.println("Dados incorretos."); } else{ System.out.println("Você nasceu no dia " +dia+ " de " +mês+ ("de ") +ano+ (".")); valido = 1; } } else if((mes == 4)||(mes == 6)||(mes == 9)||(mes == 11)){ if(dia > 30){ System.out.println("Dados incorretos."); } else{ System.out.println("Você nasceu no dia " +dia+ " de " +mês+ ("de ") +ano+ (".")); valido = 1; } } else if(mes == 2){ if(dia > 28){ System.out.println("Dados incorretos."); } else{ System.out.println("Você nasceu no dia " +dia+ " de " +mês+ ("de ") +ano+ (".")); valido = 1; } } else{ System.out.println("Dados incorretos."); } if( valido == 1){ if((dia >= 21)&&(mes == 3)||(dia <=20)&&(mes == 4)){ signo = "Áries"; } else if((dia>=21)&&(mes ==4)||(dia<=20)&&(mes==5)){ signo = "Touro"; } else if((dia>=21)&&(mes ==5)||(dia<=20)&&(mes==6)){ signo = "Gêmeos"; } else if((dia>=21)&&(mes ==6)||(dia<=21)&&(mes==7)){ signo = "Câncer"; } else if((dia>=22)&&(mes ==7)||(dia<=22)&&(mes==8)){ signo = "Leão"; } else if((dia>=23)&&(mes ==8)||(dia<=22)&&(mes==9)){ signo = "Virgem"; } else if((dia>=23)&&(mes ==9)||(dia<=22)&&(mes==10)){ signo = "Libra"; } else if((dia>=23)&&(mes ==10)||(dia<=21)&&(mes==11)){ signo = "Escorpião"; } else if((dia>=22)&&(mes ==11)||(dia<=21)&&(mes==12)){ signo = "Sagitário"; } else if((dia>=22)&&(mes ==12)||(dia<=20)&&(mes==1)){ signo = "Capricórnio"; } else if((dia>=21)&&(mes ==1)||(dia<=19)&&(mes==2)){ signo = "Aquário"; } else if((dia>=20)&&(mes ==2)||(dia<=20)&&(mes==3)){ signo = "Peixes"; } System.out.println("Seu signo é: " +signo+ "."); } if(valido == 1){ System.out.println("Em que ano estamos?"); anoHoje = new Scanner(System.in).nextInt(); System.out.println("Em que mes estamos?"); mesHoje = new Scanner(System.in).nextInt(); System.out.println("Que dia é hoje?(1,2,3...)"); diaHoje = new Scanner(System.in).nextInt(); idade = anoHoje - ano; if((mesHoje>=mes)&&(diaHoje>dia)){ System.out.println("Você tem " +idade+ " anos."); } else{ idade2 = anoHoje - ano - 1; System.out.println("Você tem " +idade2+ " anos, mas este ano você completará " +idade+ "."); } if((dia==diaHoje)&&(mes==mesHoje)){ System.out.println("Parabéns. Hoje é seu aniversário. Você completou " +idade+ " anos."); } } } }
11. (responsável: César ) Exiba dois números fornecidos pelo usuário em ordem crescente.
// Resolução Geraldo Gaúna e Julia Zerbini package exercicio11; import java.util.Scanner; public class Principal { public static void main (String[]args){ int valor1,valor2,valor3,auxiliar; valor1=(int)(Math.random()*10)+1; valor2=(int)(Math.random()*10)+1; valor3=(int)(Math.random()*10)+1; System.out.println(" valor 1:"+valor1); System.out.println(" valor 2:"+valor2); System.out.println(" valor 3:"+valor3); if (valor1>valor2){ auxiliar=valor2; valor2=valor1; valor1=auxiliar; } if(valor2>valor3){ auxiliar=valor3; valor3=valor2; valor2=auxiliar; } if (valor1>valor2){ auxiliar=valor2; valor2=valor1; valor1=auxiliar; } System.out.println("valor maior:"+valor1); System.out.println("valor mediano:"+valor2); System.out.println("valor menor:"+valor3); } }
// Autor: Filipe Thomé Rangel package nivel2; import java.util.Scanner; public class numero11 { public static void main(String[] args){ int numero1, numero2, aux; System.out.println("Entre com o primeiro numero:"); numero1 = new Scanner(System.in).nextInt(); System.out.println("Entre com o segundo numero:"); numero2 = new Scanner(System.in).nextInt(); if (numero1 > numero2 ){ aux = numero2; numero2 = numero1; numero1 = aux; } System.out.println("Valor menor: "+numero1); System.out.println("Valor maior: "+numero2); } }
12. (responsável: Cleber ) Solicite o nome e a idade de duas pessoas. Em seguida exiba o nome da pessoa mais velha e o nome da pessoa mais nova.
// Autor: Filipe Thomé Rangel package nivel2; import java.util.Scanner; public class numero12 { public static void main(String[] args){ String nome1, nome2; int idade1, idade2; System.out.println("Diga o nome da primeira pessoa:"); nome1 = new Scanner(System.in).nextLine(); System.out.println("Diga a idade da primeira pessoa:"); idade1 = new Scanner(System.in).nextInt(); System.out.println("Diga o nome da segunda pessoa:"); nome2 = new Scanner(System.in).nextLine(); System.out.println("Diga a idade da segunda pessoa:"); idade2 = new Scanner(System.in).nextInt(); if (idade1 > idade2){ System.out.println("A pessoa mais velha é: "+nome1 ); System.out.println("A pessoa mais nova é: "+nome2); } else { System.out.println("A pessoa mais velha é: "+nome2 ); System.out.println("A pessoa mais nova é: "+nome1); } } }
13. (responsável: Dorly ) Exiba o valor do empréstimo possível para um funcionário de uma empresa.
Sabe-se:
Cargo % do salário
Diretoria 30%
Gerência 25%
Operacional 20%
package Exercicio13; /* 13. Exiba o valor do empréstimo possível para um funcionário de uma empresa. Sabe-se: Cargo % do salário Diretoria 30% Gerência 25% Operacional 20% */ import java.util.Scanner; public class Principal { public static void main(String[] args) { /* Essas são as variáveis que usei para o desenvolvimento do exercício. Tentei usar o mínimo possível */ double gerente, diretor, operario; double direEmprest, gerenEmprest, operaEmprest; /* Aqui é onde o exercício começa a funcionar. O usuário entra com os valores dos salários de cada funcionário, cada valor corresponde a uma das seguintes variáveis: gerente, diretor e operário. Assim, Temos os dados fundamentais*/ System.out.println("Entre com o salário do funcionário da Diretoria:"); diretor = new Scanner(System.in).nextDouble(); System.out.println("Entre com o salário do funcionário da Gerência:"); gerente = new Scanner(System.in).nextDouble(); System.out.println("Entre agora com o salário do funcionário da parte operacional:"); operario = new Scanner(System.in).nextDouble(); /* Chegamos na parte principal do exercício, a parte de cálculo. Usamos uma regra de três simples. Multiplicamos o valor do salário pela porcentagem e depois dividimos por 100. */ direEmprest = diretor * 30 / 100; gerenEmprest = gerente * 25 / 100; operaEmprest = operario * 20 / 100; /* Esta é a parte final onde são exibidos os valores*/ System.out.println("O Valor máximo de empréstimo que um funcionário da diretoria pode pedir é de "+direEmprest+" reais."); System.out.println("Já um funcionário da Gerência pode pedir no máximo "+gerenEmprest+" reais E"); System.out.println("um funcionário da parte Operacional pode pedir até "+operaEmprest+ " reais."); } } /* O exercício também poderia ser feito por outro método. Poderíamos ter sortido os valores dos salários dos funcionários, mas ficaria menos interativo. Fazer o usuário participar é mais legal. Essa foi a interpretação que dei ao exercício se alguém tem alguma idéia melhor ou mais prática, por favor, deixe a sua opinião. */
14. (responsável: Edymarks ) Verifique se duas datas de aniversário (dia e mês) são iguais.
15. (responsável: Erik ) Verifique quem entre duas pessoas faz aniversário primeiro. Exiba o nome do primeiro aniversariante considerando que estamos no dia 1 de janeiro. Use como entrada o nome, o dia e o mês de nascimento de cada pessoa.
16. (responsável: Ezequiel ) Faça a verificação da validade de uma data completa (dia, mês e ano).
Obs. um ano é bissexto, cujo mês de fevereiro possui 29 dias, se o resto da divisão do ano por 4 e também por 100 for zero, ou ainda se o resto da divisão por 400 for zero. Os meses com 30 dias são 4, 6, 9 e 11, os demais tem 31 dias.
17. (responsável: Filipe Thome ) Valide um horário composto de horas, minutos e segundos.
/*// Autor: Filipe Thomé Rangel */ package exemplo17; import java.util.Scanner; public class exemplo17 { public static void main(String[] args){ int horas, minutos, segundos; System.out.println("Entre com a hora:"); horas = new Scanner(System.in).nextInt(); System.out.println("Entre com os minutos:"); minutos = new Scanner(System.in).nextInt(); System.out.println("Entre com os segundos:"); segundos = new Scanner(System.in).nextInt(); if (horas < 24 && minutos < 60 && segundos < 60) { System.out.println("O horário está correto!"); } else { System.out.println("O horário está errado!"); } } }
/*// Ricardo Emiliano por ficou massa o programa das horas eu fiz algumas modificações..... agora ser o usuario erra as horas ele vai poder corrigi as horas ^^.. */ import java.util.Scanner; public class Principal { public static void main(String[] args){ int horas, minutos, segundos; System.out.println("Entre com a hora:"); horas = new Scanner(System.in).nextInt(); System.out.println("Entre com os minutos:"); minutos = new Scanner(System.in).nextInt(); System.out.println("Entre com os segundos:"); segundos = new Scanner(System.in).nextInt(); while (horas > 24 && minutos >= 59 && segundos >= 59) { System.out.println("O horário está errado!" ); System.out.println("Entre com a hora:"); horas = new Scanner(System.in).nextInt(); System.out.println("Entre com os minutos:"); minutos = new Scanner(System.in).nextInt(); System.out.println("Entre com os segundos:"); segundos = new Scanner(System.in).nextInt(); } System.out.println("O horário está correto!" +"E são:" +" "+horas +":" +minutos +":"+segundos); } }
18. (responsável: Geraldo ) Receba 2 horários e exiba a diferença entre eles em segundos. A entrada destes horários pode ocorrer em qualquer ordem.
Dica: transforme os dois horários para segundos.
/*// Renan de Aquino Ribeiro =D. */ import java.util.Scanner; public class Exercicio18 { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub int hora1, hora2, min1, min2, seg1, seg2, diferença, totalSegundos1, totalSegundos2; System.out.print("Digite a hora do 1° horario:"); hora1 = new Scanner(System.in).nextInt(); System.out.print("Digite os minutos do 1ª horario"); min1 = new Scanner(System.in).nextInt(); System.out.print("Digite os segundos do 1°horario"); seg1 = new Scanner(System.in).nextInt(); System.out.print("Digite a hora do 2° horario:"); hora2 = new Scanner(System.in).nextInt(); System.out.print("Digite os minutos do 2° horario"); min2 = new Scanner(System.in).nextInt(); System.out.print("Digite os segundos do 2°horario"); seg2 = new Scanner(System.in).nextInt(); hora1 = hora1 * 3600; min1 = min1 * 60; totalSegundos1 = hora1 + min1 + seg1; hora2 = hora2 * 3600; min2 = min2 * 60; totalSegundos2 = hora2 + min2 + seg2; if(totalSegundos1 > totalSegundos2){ diferença = totalSegundos1 - totalSegundos2; System.out.print("A diferença entre os 2 horarios é:"+diferença+" segundos."); } else{ diferença = totalSegundos2 - totalSegundos1; System.out.print("A diferença entre os 2 horarios é:"+diferença+" segundos."); } } }