Foros del Web » Programación para mayores de 30 ;) » Java »

problema con for con doble contador!

Estas en el tema de problema con for con doble contador! en el foro de Java en Foros del Web. Hola, tengo una duda, es que necesito hacer un pequeño programa en java que muestre las tablas de multiplicar del 1 al 10, pero utilizando ...
  #1 (permalink)  
Antiguo 10/11/2006, 00:55
Avatar de cuper90  
Fecha de Ingreso: septiembre-2006
Mensajes: 29
Antigüedad: 17 años, 7 meses
Puntos: 1
problema con for con doble contador!

Hola, tengo una duda, es que necesito hacer un pequeño programa en java que muestre las tablas de multiplicar del 1 al 10, pero utilizando ciclo for con doble contador!!! y no se como hacerle

una forma que a mi se me ocurrio para sacarlo facilmente es con for simples anidados asi:

Código:
public class Tablas{
      public static void main(String[] args){
	for(int a=1; a<11; a++){
		for(int b=1; b<11 ; b++){
			System.out.println(a+" x "+b+" = "+a*b);
		}
		System.out.println("");
	}
      }
}
pero como dije antes, segun esto necesito hacerlo con un for con doble contador y no se como hacerle.

ayuda por favor!!!!!!

Última edición por cuper90; 10/11/2006 a las 01:01
  #2 (permalink)  
Antiguo 10/11/2006, 02:43
Avatar de Valkam  
Fecha de Ingreso: junio-2006
Ubicación: Sevilla
Mensajes: 157
Antigüedad: 17 años, 10 meses
Puntos: 0
Tabla Multiplicar con un solo for

Bueno, creo que el truco está en olvidarse de que tendrías que iterar para dos variables. Tenemos que iterar 99 veces (toda la tabla son 99 multiplicaciones) y por tanto usaremos una variable para contar esas iteraciones y tambien nos servirá para calcular el número por el que hay que multiplicar el segundo contador en cada iteración.
El segundo contador tambien se calcula en funcion del primero

Creo que sería algo así:

Código:
	public static void main(String[] args) {
		
		 for(int x = 1, b = 1; x < 100; x++, b = x/10 + 1)
		  {
			 int a = x%10; //El resto de la division del contador entre 10 siempre nos da el numero por el que hay que multiplicar
		     
                         //si hay que multiplicar por 10, el resto es 0 lo ponemos a 10
			 if(a == 0)
				 a = 10;
			 
				 System.out.println(a + " x " + b + " = " + a*b);
		        }
		  }

}
Esta es la salida:

1 x 1 = 1
2 x 1 = 2
3 x 1 = 3
4 x 1 = 4
5 x 1 = 5
6 x 1 = 6
7 x 1 = 7
8 x 1 = 8
9 x 1 = 9
10 x 2 = 20
1 x 2 = 2
2 x 2 = 4
3 x 2 = 6
4 x 2 = 8
5 x 2 = 10
6 x 2 = 12
7 x 2 = 14
8 x 2 = 16
9 x 2 = 18
10 x 3 = 30
1 x 3 = 3
2 x 3 = 6
3 x 3 = 9
4 x 3 = 12
5 x 3 = 15
6 x 3 = 18
7 x 3 = 21
8 x 3 = 24
9 x 3 = 27
10 x 4 = 40
1 x 4 = 4
2 x 4 = 8
3 x 4 = 12
4 x 4 = 16
5 x 4 = 20
6 x 4 = 24
7 x 4 = 28
8 x 4 = 32
9 x 4 = 36
10 x 5 = 50
1 x 5 = 5
2 x 5 = 10
3 x 5 = 15
4 x 5 = 20
5 x 5 = 25
6 x 5 = 30
7 x 5 = 35
8 x 5 = 40
9 x 5 = 45
10 x 6 = 60
1 x 6 = 6
2 x 6 = 12
3 x 6 = 18
4 x 6 = 24
5 x 6 = 30
6 x 6 = 36
7 x 6 = 42
8 x 6 = 48
9 x 6 = 54
10 x 7 = 70
1 x 7 = 7
2 x 7 = 14
3 x 7 = 21
4 x 7 = 28
5 x 7 = 35
6 x 7 = 42
7 x 7 = 49
8 x 7 = 56
9 x 7 = 63
10 x 8 = 80
1 x 8 = 8
2 x 8 = 16
3 x 8 = 24
4 x 8 = 32
5 x 8 = 40
6 x 8 = 48
7 x 8 = 56
8 x 8 = 64
9 x 8 = 72
10 x 9 = 90
1 x 9 = 9
2 x 9 = 18
3 x 9 = 27
4 x 9 = 36
5 x 9 = 45
6 x 9 = 54
7 x 9 = 63
8 x 9 = 72
9 x 9 = 81
10 x 10 = 100
1 x 10 = 10
2 x 10 = 20
3 x 10 = 30
4 x 10 = 40
5 x 10 = 50
6 x 10 = 60
7 x 10 = 70
8 x 10 = 80
9 x 10 = 90
  #3 (permalink)  
Antiguo 11/11/2006, 01:05
Avatar de cuper90  
Fecha de Ingreso: septiembre-2006
Mensajes: 29
Antigüedad: 17 años, 7 meses
Puntos: 1
wow! agradezco mucho tu ayuda, aunque a decir verdad tu programa tiene una ligera falla, da las tablas para cada numero pero del 1 al 9 y el siguiente numero comienza multiplicando desde 10.

de cualquier forma me ayudaste muchisimo.

bueno, hice unos cambios tomando como base el codigo que pusiste para que todo quede perfecto:

Código:
public class Tablas{
	public static void main(String[] args){
		for(int x = 0, a = 1; x < 100; x++, a = (x/10)+1){
			int b = (x%10)+1;
			if((x%10)==0)
				System.out.println("");
			System.out.println(a+ " x " +b+ " = "+a*b);
		}
	}
}
Salida en pantalla:

>java Tablas

1 x 1 = 1
1 x 2 = 2
1 x 3 = 3
1 x 4 = 4
1 x 5 = 5
1 x 6 = 6
1 x 7 = 7
1 x 8 = 8
1 x 9 = 9
1 x 10 = 10

2 x 1 = 2
2 x 2 = 4
2 x 3 = 6
2 x 4 = 8
2 x 5 = 10
2 x 6 = 12
2 x 7 = 14
2 x 8 = 16
2 x 9 = 18
2 x 10 = 20

3 x 1 = 3
3 x 2 = 6
3 x 3 = 9
3 x 4 = 12
3 x 5 = 15
3 x 6 = 18
3 x 7 = 21
3 x 8 = 24
3 x 9 = 27
3 x 10 = 30

4 x 1 = 4
4 x 2 = 8
4 x 3 = 12
4 x 4 = 16
4 x 5 = 20
4 x 6 = 24
4 x 7 = 28
4 x 8 = 32
4 x 9 = 36
4 x 10 = 40

5 x 1 = 5
5 x 2 = 10
5 x 3 = 15
5 x 4 = 20
5 x 5 = 25
5 x 6 = 30
5 x 7 = 35
5 x 8 = 40
5 x 9 = 45
5 x 10 = 50

6 x 1 = 6
6 x 2 = 12
6 x 3 = 18
6 x 4 = 24
6 x 5 = 30
6 x 6 = 36
6 x 7 = 42
6 x 8 = 48
6 x 9 = 54
6 x 10 = 60

7 x 1 = 7
7 x 2 = 14
7 x 3 = 21
7 x 4 = 28
7 x 5 = 35
7 x 6 = 42
7 x 7 = 49
7 x 8 = 56
7 x 9 = 63
7 x 10 = 70

8 x 1 = 8
8 x 2 = 16
8 x 3 = 24
8 x 4 = 32
8 x 5 = 40
8 x 6 = 48
8 x 7 = 56
8 x 8 = 64
8 x 9 = 72
8 x 10 = 80

9 x 1 = 9
9 x 2 = 18
9 x 3 = 27
9 x 4 = 36
9 x 5 = 45
9 x 6 = 54
9 x 7 = 63
9 x 8 = 72
9 x 9 = 81
9 x 10 = 90

10 x 1 = 10
10 x 2 = 20
10 x 3 = 30
10 x 4 = 40
10 x 5 = 50
10 x 6 = 60
10 x 7 = 70
10 x 8 = 80
10 x 9 = 90
10 x 10 = 100
>Exit code: 0


saludos

Última edición por cuper90; 11/11/2006 a las 01:26
  #4 (permalink)  
Antiguo 13/11/2006, 01:41
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Y yo pregunto... ¿Qué es un for con doble contador? No lo había oido en mi vida.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 00:18.