For's Encadeado - O que tem de errado neste código? é assim mesmo que tem que apresent...<RESOLVIDO>

4 respostas
andre.nasc84

Bom dia pessoal, aqui estou novamente para pentelhar com as minhas dúvidas. Sou iniciante em java e sozinho, e meu professor é a apostila da caelum que baixei pra estudar, logo.. sem curso nenhum.. estou indo raça.
Tentei resolver o exercicio abaixo, porém está estranho e não consigo raciocinar o que está faltando ou onde está o erro no código abaixo ... por favor.. dêem uma dica para solução!
Imprima a seguinte tabela, usando fors encadeados:
1
2 4
3 6 9
4 8 12 16
n n*2 n*3 .... n*n

public class Exe08Pag37 {

	public static void main(String[] args) {
		int X;
		int Y;
		int Z;
		for (X = 1; X <= 10; X++) {
			for (Y = 1; Y <= 10; Y++) {
				Z = X * Y;
				if (X != Y) {
					System.out.print(Z + " ");
				} else {
					System.out.println(Z);
				}
			}
		}
	}
}

No console apresenta desta forma:
1
2 3 4 5 6 7 8 9 10 2 4
6 8 10 12 14 16 18 20 3 6 9
12 15 18 21 24 27 30 4 8 12 16
20 24 28 32 36 40 5 10 15 20 25
30 35 40 45 50 6 12 18 24 30 36
42 48 54 60 7 14 21 28 35 42 49
56 63 70 8 16 24 32 40 48 56 64
72 80 9 18 27 36 45 54 63 72 81
90 10 20 30 40 50 60 70 80 90 100

Agradeço pela ajuda e atenção.

4 Respostas

nel

Bom dia.

int n = 10; int x = 0; int y = 0; for(int i=1; i<=n; i++){ for(int j=0; j<i; j++){ if(j==0){ y = x+i; x = y; } else { x = y+x; } System.out.print(x+" "); } System.out.println("\n"); x = 0; }

Abraços! :slight_smile:

nel

Perdoe a falta de explicação, mas somente clicando em resposta rápida eu consegui enviar o código.
Apenas sempre fique atento a lógica por trás daquilo que deseja, ali nesse caso o primeiro número sempre
segue uma sequência, no caso: 1 - 2 - 3 - 4 e assim por diante…
Os próximos da sequência são sempre o primeiro número mais a sua soma, ou seja:
2 4 (2+0; 2+2)
3 6 9(3+0; 3+3; 3+6)
4 8 12 (4+0; 4+4; 4+8 )

Certo?
Abraços :slight_smile:

pmlm

Não é preciso qualquer if

int n = 10; // n pode ser qualquer número

for (int i = 1; i<=n;i++){ // cada linha começa por um número i,  de 1 até n
    for (int j = 1; j<=i;j++){ // cada coluna tem os primeiros i múltiplos de i
        System.out.print((i * j) + " "); //mostra o múltiplo
    }
    System.out.println(""); /muda de linha
}
andre.nasc84
Obrigado À todos pela ajuda. eu consegui! vejam abaixo! Desculpe por não colocar tags mas está dando erro na página desde a semana passada!

public class Exe08Pag37 {

-----------public static void main(String[] args) {

-----------int X = 0;

-----------int Y = 0;

----------------for (int i = 1; i <= 10; i++) {

---------------------for (int j = 0; j < i; j++) {

-------------------------if (j == 0) {

-------------------------	Y = X + i;

-------------------------	X = Y;

---------------------} else {

-----------------------------X = Y + X;

---------------------------}

--------------------System.out.print(X + " “);

-----------------}

--------------------System.out.println(”\n");

-----------X = 0;

-----------}

-------}

}
Criado 19 de novembro de 2009
Ultima resposta 23 de nov. de 2009
Respostas 4
Participantes 3