Java - repetitiva for

 
Vista:
sin imagen de perfil

repetitiva for

Publicado por oscar (6 intervenciones) el 16/01/2017 00:05:52
Buenos noches, en esta oportunidad tengo un problema con el siguiente código, el problema consiste en lo siguiente:

un conejo tiene un tamaño, el conejo esta separado de una zanahoria una distancia, el conejo en un salto recorre la mitad de la distancia, para que el conejo pueda tomar la zanahoria, la distancia tiene que ser menor o igual al 80% del tamaño del conejo

aqui esta el codigo en java, estoy usando una estructura repetitiva for:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
package applicationjueves10enerog2;
import javax.swing.JOptionPane;
public class ejercicio5 {
 
    public static void main(String[] args) {
        int t ,d;
        t=Integer.parseInt(JOptionPane.showInputDialog("ingresa el  tamaño del conejo" ));
         d=Integer.parseInt(JOptionPane.showInputDialog("ingresa la distancia" ));
        for(int i=1 ; i<t; i++){
 
            d=d/2;
            if(0.8*t>d){
                System.out.println("el conejo alcanzo la zanahoria");
 
 
            }
    }
 }
}
Me sale, pero me imprime varias veces "el conejo alcanzo la zanahoria como en la imagen", cuando me deberia imprimir solo una vez

ejercicio2



Espero me puedan ayudar, como ven en uno me sale una ves, pero en otro 2. Solo deberia aparecer una ves.

Gracias
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
sin imagen de perfil
Val: 144
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

repetitiva for

Publicado por Thanatos (97 intervenciones) el 16/01/2017 08:46:53
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
import javax.swing.JOptionPane;
 
class Ejercicio5 {
 
    public static void main(String[] args) {
        int tamConejo = Integer.parseInt(
            JOptionPane.showInputDialog("Ingresa el tama\u00f1o del conejo:")
        );
        int distancia = Integer.parseInt(
            JOptionPane.showInputDialog("Ingresa la distancia:")
        );
        int saltos = 0;
 
        for ( ; ; ) {
            distancia /= 2;
            ++saltos;
 
            int comparacion = Float.compare((float)distancia, tamConejo * 0.8f);
 
            if (comparacion == 0 || comparacion < 0) {
                System.out.println(
                      "El conejo alcanz\u00f3 la zanahoria.\n"
                    + "Total de saltos: " + saltos
                );
                break;
            }
        }
    }
 
}
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