Java - Alguien me podría ayudar con este programa java?

 
Vista:
sin imagen de perfil

Alguien me podría ayudar con este programa java?

Publicado por navisvh (3 intervenciones) el 14/11/2017 18:39:03
Hola buenas:
He comenzado hace un par de meses a programar en java y tengo una duda sobre como realizar el siguiente programa.

El programa debe pedir por consola dos números a y b que serán los extremos de un intervalo cerrado.[a,b] y me tiene que sacar por pantalla si dentro del intervalo hay algún número múltiplo de 13 y si es así cuales.
He probado a hacerlo con un for y dentro de el un if,else. Poniendo el intervalo [2,13] por ejemplo si me sale pero al poner [2,14] me dice que no hay múltiplos.
Espero que me puedan ayudar, gracias de antemano.
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: 358
Bronce
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Alguien me podría ayudar con este programa java?

Publicado por Nicolas (137 intervenciones) el 14/11/2017 18:46:32
Hola Navish.
Puedes poner tu código y donde tienes el error así podremos ayudarte.
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
sin imagen de perfil

Alguien me podría ayudar con este programa java?

Publicado por Navi (3 intervenciones) el 14/11/2017 18:56:18
De momento estaba intentandolo unicamente para que saliese por pantalla si tenía o no los multiplos. Perdón si lo veis muy desastroso pero como ya he dicho empecé hace poco.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
import java.util.Scanner;
public class progmultiplo {
 
	public static void main(String[] args) {
		Scanner t= new Scanner(System.in);
		System.out.println("Dame los extremos a b de un intervalo: ");
		int b=t.nextInt();
		for(int a=t.nextInt();a>b;a++){
			if(a%13==0){
		        System.out.println("Hay multiplos de 13");
		        break;
			}
			else{
				System.out.println("No hay multiplos de 13");
				a++;
				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
sin imagen de perfil
Val: 358
Bronce
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Alguien me podría ayudar con este programa java?

Publicado por Nicolas (137 intervenciones) el 14/11/2017 20:28:02
Hola nuevamente.
Le haria estos cambios para que funcionara, te conviene pedir afuera del For los extremos y luego utilizarlos. No deberias sumar al contador del numero "a" porque se salta, ese "a++" no iria.
Te paso el codigo que me funciona.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
import java.util.Scanner;
public class progmultiplo {
 
	public static void main(String[] args) {
		Scanner t = new Scanner(System.in);
        System.out.println("Dame los extremos a b de un intervalo: ");
        int b = t.nextInt();
        int a = t.nextInt();
        for (int i = a; a > b; a++) {
            if (i % 13 == 0) {
                System.out.println("Hay multiplos de 13");
                break;
            } else {
                System.out.println("No hay multiplos de 13");
 
                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
sin imagen de perfil

Alguien me podría ayudar con este programa java?

Publicado por Navi (3 intervenciones) el 14/11/2017 22:16:00
Hola de nuevo:
Con el programa que me envias igualmente al poner el intervalo [2,14] me indica que no tiene multiplos de 13.
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
sin imagen de perfil
Val: 144
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Alguien me podría ayudar con este programa java?

Publicado por Thanatos (97 intervenciones) el 16/11/2017 04:46:36
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 java.util.Scanner;
 
class Multiplo {
 
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        boolean hayMultiplos = false;
 
        System.out.println("Dame los extremos a, b de un intervalo:");
        int a = sc.nextInt();
        int b = sc.nextInt();
        sc.close();
 
        while (a <= b) {
            if (a % 13 == 0) {
                if (!hayMultiplos) {
                    System.out.println("Multiplos de 13:");
                    hayMultiplos = true;
                }
                System.out.print(a + " ");
            }
            ++a;
        }
 
        if (!hayMultiplos) {
            System.out.println("No hay multiplos de 13");
        }
    }
 
}
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