01 import java.util.Scanner;
02
03 /** Isto começou com a proposta de projeto do calculador de
04 despesas. Um de vocês queria fazer o cálculo de acordo
05 com o mês, mas não sabia como (e queria criar uma classe
06 que representasse meses - e também não sabia como fazê-lo).
07 Espero que ele tenha pesquisado, tentado e encontrado sua
08 própria solução, ao invés de esperar a resposta pronta.
09 ESPERO ESTA ATITUDE DE TODOS VOCÊS.
10 Agora, uma semana depois, apresento a vocês algumas soluções
11 para esse problema como fechamento do assunto comandos de
12 seleção. Esta é a solução usando testes aninhados, com outra
13 sintaxe e aproveita que até o mes 7 meses Ãmpares tem 31
14 dias e a partir do 8, meses pares tem 31 dias.
15 */
16 public class Transporte7 {
17 /* 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 mes*/
18 /*31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31*/
19 /* 1, 2, 3, 4, 5, 6, 7, 9, 10, 11, 12, 13 mes + mes>>3*/
20 public static void main (String[] args){
21 Scanner sc;
22 sc = new Scanner (System.in);
23 int dias=-1;
24 int mes;
25 int conta=0;
26 System.out.println ("digite o mês (1..12)");
27 mes=sc.nextInt();
28 conta++;
29 while (((mes<1)||(mes>12))&&(conta<3)) {
30 System.out.println ("digite novamente o mês (1..12)");
31 mes=sc.nextInt();
32 conta++;
33 }
34 //System.out.println ("Depuracao " + (mes+mes>>3));
35 //System.out.println ("Depuracao " + (mes>>3));
36 if (((mes+(mes>>3))%2)==1) {
37 dias=31;
38 } else if (mes==2){
39 dias=28;
40 } else {
41 dias=30;
42 }
43 System.out.println ("Digite o preço da viagem ida e volta (separador de acordo com seu local).");
44 double preco=sc.nextDouble();
45 System.out.println ("Despesa com transporte = " + (double) dias * preco);
46 }
47 }
|
Nenhum comentário:
Postar um comentário