Programa para Resolver tabuada de N X M

8 respostas
L

Como faço para resonlver o seguinte exercício:

Preciso fazer uma tabuada com a saída assim:

1 2 3 … n
2 4 6 … 2n
3 6 9 … 3n
. . .
. . .
. . .
m 2m 3m

Preciso informar os valores n e m, e o algoritmo tem que devolver a tabuada no formato que eu disse, mas quero faze-la usando somente LOOPs, sem Array ou Matriz…

8 Respostas

ViniGodoy

Use uma estrutura de repetição. A mais indicada nesse caso é o for.
http://docs.oracle.com/javase/tutorial/java/nutsandbolts/for.html

L

Então, como faço para ele escrever o valor na linha de baixo?

package aula2;

import java.io.BufferedReader;
import java.io.InputStreamReader;

public class TabuadaFormatada {
    public static void main(String[] args) {
        BufferedReader Entrada = new BufferedReader(new InputStreamReader(System.in));
        int nl = 0; // n para linhas
        int aux = 0;
        int cont = 0;
        try {
            System.out.println("Informe o número de linhas da tabuada:");
            nl = Integer.parseInt(Entrada.readLine());
           
            for(int i = 1; i <= nl; i++){
                cont = 0;
                
                while (cont < 1 ){
                    aux = i;
                    System.out.print(aux);
                    cont++;
                }
             System.out.print(" ");
            }
 
        } catch (Exception e) {
            System.out.println("Informe o dado requerido corretamente!!!");
        } finally {
            System.out.println("Fim do Programa");
        }
    }
}
ViniGodoy

Ao postar códigos use a tag code, como descrito aqui (já corrigi para você no post anterior):

Pense em usar um for dentro do outro. Veja o que esse código imprime:

for (int n = 0; n &lt; 11; n++) for (int m = 0; m &lt; 11; m++) { System.out.println(&quot;&quot; + n &quot; &quot; + m); } }

L

É que é assim, quero inserir um número, uma quantidade de linhas, ou seja, qualquer quantidade, e ele tem que imprimir, se for 4 linhas dessa forma:

1 2 3 4
2 4 6 8
3 6 9 12
4 8 12 16

Se o número de linhas fosse 3, por exemplo, essa tabela imprimiria o seguinte…
1 2 3
2 4 6
3 6 9

ViniGodoy

Eu entendi perfeitamente o que você quer.
E praticamente já te dei a solução.

Mas não vou tirar de você a oportunidade de usar um pouco a cabeça.

Quem tem que exercitar a lógica e fazer a lição de casa é você. :wink:

L

Vou tentar, é que na sua saída, vc vai imprimir somente duas colunas sempre, e isso é q preciso aumentar de acordo com a quantidade de linhas que informo…
vlww

ViniGodoy

Veja o que uma pequena modificação pode fazer nesse for:

for (int n = 0; n &lt; 11; n++) for (int m = 0; m &lt; 11; m++) { System.out.print(&quot; &quot; + n &quot;x&quot; + m); } System.out.println(); }

L

CARAMBA!
Vlww Vini, obrigado!

Criado 18 de fevereiro de 2012
Ultima resposta 18 de fev. de 2012
Respostas 8
Participantes 2