Java - Tengo una duda, como puedo hacer esta operación en java. En c++ si lo pude resolver

 
Vista:
sin imagen de perfil

Tengo una duda, como puedo hacer esta operación en java. En c++ si lo pude resolver

Publicado por Alfredo (3 intervenciones) el 22/01/2023 06:55:30
Tengo una duda, como puedo hacer esta operación en java. En c++ si lo pude resolver
xd
ccccccc
package com.mycompany.turista;

import java.util.Scanner;

/**
*
* @author si
*/
public class Turista {

@SuppressWarnings("UnusedAssignment")
public static void main(String[] args) {

Scanner sc = new Scanner(System.in);
System.out.println("Introduce un dia de la semana: ");
String dia = sc.next();

Scanner xd = new Scanner(System.in);
System.out.println("Introduce la distancia: ");
String distancia = xd.next();

int d=0, a=120, t=140, b=100;
int d2 = 2, ti=0;
switch(dia){
case "lunes":
if (d>=0);
ti = d*t*60;
System.out.println("Llegaras mas rapido en tren ");
ti = d*140*60;
System.out.println("Tardaras aprox: " + ti + " min");
break;
case "martes":
if (d>=0);
System.out.println("Llegaras mas rapido en tren ");
break;
case "miercoles":
if (d2>=0);
System.out.println("Llegaras mas rapido en automovil ");
break;
case "jueves":
if (d>=0);
System.out.println("Llegaras mas rapido en automovil ");
break;
case "viernes":
if (d>=0);
System.out.println("Llegaras mas rapido en tren ");
break;
case "sabado":
if (d>=0);
System.out.println("Llegaras mas rapido en tren ");
break;
case "domingo":
if (d>=0);
System.out.println("Llegaras mas rapido en tren ");
break;
default:
System.out.println("Escribe un dia de la semana");
break;
}

}
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Manolo72

Tengo una duda, como puedo hacer esta operación en java. En c++ si lo pude resolver

Publicado por Manolo72 (18 intervenciones) el 22/01/2023 11:52:18
Tu problema es bastante sencillo, infiero que estás emepzando a programar, por lo que te dejo algunos consejos:

* Usa siempre nombres de variables descriptivas, te ayudará a la hora de pensar algoritmos más complejos.
* Ten cuidado con los tipos de dato, te pueden liar a la hora de hacer cierto tipo de cuentas ya que java automaticamente hace casting interno y eso no es siempre lo que encesitas.
* Familiarizate con el uso de excepciones, es ua forma muy fácil de controlar los errores de tu programa, más aún cuando pides al usuario introducir cosas.

Te dejo el código abajo con más comentarios, espero que te ayude.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
import java.util.InputMismatchException;
import java.util.Scanner;
 
/**
 *
 * @author si
 */
public class Turista {
 
  @SuppressWarnings("UnusedAssignment")
  public static void main(String[] args) {
 
      Scanner sc = new Scanner(System.in);
      System.out.print("Introduce un dia de la semana: "); // Be sure user input is in the same line than your message
      String dia = sc.next().toLowerCase().trim();
 
      //Scanner xd = new Scanner(System.in); // Your scanner is not closed, you can use it again
      System.out.print("Introduce la distancia: "); // Be sure user input is in the same line than your message
      try {
        int distancia = sc.nextInt(); // Assume this input referes to disntance in km
        // Better to you using descriptive names for variables
        int carSpeed   = 120; // in km/h
        int busSpeed   = 100; // in km/h
        int trainSpeed = 140; // in km/h
        // Compute time of each way of transport
        double carTravelTime   = (double) distancia / carSpeed;
        double busTravelTime   = (double) distancia / busSpeed;
        double trainTravelTime = (double) distancia / trainSpeed;
        // Depending on the day, choose better option
        switch (dia) {
          case "lunes":
            // Bus non available. Only options are car or train. Train is faster
            System.out.println( " Llegaras mas rapido en tren " +
                                "\n Tardaras aprox: " + (int) Math.ceil(trainTravelTime*60) + " min");
            break;
          case "martes":
            // Every transport is available. Train is faster
            System.out.println( "Llegaras mas rapido en tren " +
                                "\nTardaras aprox: " + (int) Math.ceil(trainTravelTime*60) + " min");
            break;
          case "miercoles":
            // Train non available. Only options are car or bus. Car is faster
            System.out.println( "Llegaras mas rapido en coche " +
                                "\nTardaras aprox: " + (int) Math.ceil(carTravelTime*60) + " min");
            break;
          case "jueves":
            // Train non available. Only options are car or bus. Car is faster
            System.out.println( "Llegaras mas rapido en coche " +
                                "\nTardaras aprox: " + (int) Math.ceil(carTravelTime*60) + " min");
            break;
          case "viernes":
            // Every transport is available. Train is faster
            System.out.println( "Llegaras mas rapido en tren " +
                                "\nTardaras aprox: " + (int) Math.ceil(trainTravelTime*60) + " min");
            break;
          case "sabado":
            // Car non available. Only options are bus or train. Train is faster
            System.out.println( "Llegaras mas rapido en tren " +
                                "\nTardaras aprox: " + (int) Math.ceil(trainTravelTime*60) + " min");
            break;
          case "domingo":
            // Car and bus non available. Only options is train
            System.out.println( "Llegaras mas rapido en tren " +
                                "\nTardaras aprox: " + (int) Math.ceil(trainTravelTime*60) + " min");
            break;
          default:
            System.out.println("El día introducido no corresponde con ninguno de la semana");
            break;
        }
      } catch (InputMismatchException ime) {
        System.err.println("Error: non an integer number introduced: " + ime);
      }
      finally{
        sc.close(); // Close your Scanner instance always!
      }
    }
 
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil

Tengo una duda, como puedo hacer esta operación en java. En c++ si lo pude resolver

Publicado por Alfredo (3 intervenciones) el 22/01/2023 12:43:53
¡Muchas gracias! Gracias por tus consejos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar