Exercicios - nivel 1 e 2 (2ª prova)

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.");
        }
    }    
}
Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License