Estrutura while

Boa tarde pessoal,

Vcs sabem como eu faço para imprimir uma tabela como por exemplo

N 10N 100N 1000*N
1 10 100 1000
2 20 200 2000
3 30 300 3000
4 40 400 4000
5 50 500 5000

Utilizando somente o while e uma saida (JOptionPane ou System.out)??

Agradeço a ajuda desde já

Atenciosamente

Michel David

while(n <= 1000){ n = n*10; System.out.println(n); }

Trabalhando a logica

programa xyz;
Inicio {
n=1;
   Enquanto (n<=5) faça{
       escreva(n*1,n*10,n*100,n*1000);
       n=n+1;
    }
}
fim.

[quote=tRuNkSnEt]Trabalhando a logica

programa xyz;
Inicio {
n=1;
   Enquanto (n<=5) faça{
       escreva(n*1,n*10,n*100,n*1000);
       n=n+1;
    }
}
fim.

[/quote]

Mas em pseudocódigo dá pra fazer…
Esse "escreva(n1,n10…)
Como eu tranfiro para o Java?
O problema é que eu tenho que imprimir a tabela inteira de uma vez…

Joga em uma String e depois da o print…
Se você colocar dentro da String o valor “\n” ele pula a linha.

[quote=kina]Joga em uma String e depois da o print…
Se você colocar dentro da String o valor “\n” ele pula a linha.[/quote]

dentro do System.out?
Não preciso usar JOptionPane?

Funciona nos dois.
System.out irá imprimir na console.
JOptionPane irá imprimir em uma janela.

[quote=Rafael Nunes]Funciona nos dois.
System.out irá imprimir na console.
JOptionPane irá imprimir em uma janela.[/quote]

O Problema é que com o JOption, ele vai imprimir uma tela por vez…
E eu quero que ele imprima uma única tela, com todos os valores de uma vez

vc pode fazer o programa aí?

Não.
Faz o seguinte, pega todos valores que você precisa ‘fatorar’ e joga num array/ArrayList , depois é só imprimir as posições adicionando as quebras de linha.

[quote=Rafael Nunes]Não.
Faz o seguinte, pega todos valores que você precisa ‘fatorar’ e joga num array/ArrayList , depois é só imprimir as posições adicionando as quebras de linha.[/quote]

Ainda não cheguei na parte do array do livro ainda…
Mas de qualquer forma, agradeço a sua ajuda!

Faz assim velhinho, eu não consegui com o println, mas com o printf dá certo.

public class Contador {
	public static void main(String[] args) {
		int n = 1;

		while (n <= 5){
			System.out.printf("%d %d %d %d\n",n,n*10,n*100,n*1000);
			n++;
		}
	}
}

[quote=leotrux]Faz assim velhinho, eu não conseguio o println, mas com o printf dá certo.

public class Contador {
public static void main(String[] args) {
int n = 1;
while (n <= 5){
System.out.printf("%d %d %d %d\n", n, n10, n100, n*1000);
n++;
}
}
}

Como eu deixo meu código dentro desse retangulos???..hehehe[/quote]

Cara, não está funcionando
o printf não é aceito pelo Borland Jbuider.
E agora?

Vc colocou os “%d” direitinho??? Vc deve colocar 1 “%d” para cada variável numérica a ser impressa na tela… Vê aí e me responde.

Não ta funcioando não…
Ta tudo certo.
O problema é o tal printf

printf é para jdk 5.0 se eu não estiver enganado …

De qualquer forma, para ficar simples, você vai ter de estudar array igual o nosso amigo rafael disse!!

Voce pode tentar assim:
Crie um metodo para criar uma variavel diferente a cada passada no while. Armazena o resultado em uma variavel nova a cada passada no while. Cria outra estrutura para Imprimir. Ai sim voce usar o \n.

Exemplo:

A primeira vez que passar no while fica
n=2
aux1=10 100 1000

Segunda vez
n=3
aux1=10 100 1000
aux2=20 200 2000

terceira vez
n=4
aux1 = 10 100 1000
aux2 = 20 200 2000
aux3 = 30 300 3000
.
.
.

AI tu cria a outra estrutura para imprimir

escreva(aux1 \n aux2 \n aux3 …)

Existe outras formas de fazer busca em string. Só que é outro saco…

Está vendo o trabalho??

Melhor estudar array mesmo!! :slight_smile:

[quote=tRuNkSnEt]printf é para jdk 5.0 se eu não estiver enganado …

De qualquer forma, para ficar simples, você vai ter de estudar array igual o nosso amigo rafael disse!!

Voce pode tentar assim:
Crie um metodo para criar uma variavel diferente a cada passada no while. Armazena o resultado em uma variavel nova a cada passada no while. Cria outra estrutura para Imprimir. Ai sim voce usar o \n.

Exemplo:

A primeira vez que passar no while fica
n=2
aux1=10 100 1000

Segunda vez
n=3
aux1=10 100 1000
aux2=20 200 2000

terceira vez
n=4
aux1 = 10 100 1000
aux2 = 20 200 2000
aux3 = 30 300 3000
.
.
.

AI tu cria a outra estrutura para imprimir

escreva(aux1 \n aux2 \n aux3 …)

Existe outras formas de fazer busca em string. Só que é outro saco…

Está vendo o trabalho??

Melhor estudar array mesmo!! :)[/quote]

Valeu amigo!!
Já consegui fazer com system.out…Bem mais simples!

abs,

Coloca ai como vc fez…hehehe
Curiosidade mata!

Abraxxx!

[quote=leotrux]Coloca ai como vc fez…hehehe
Curiosidade mata!

Abraxxx![/quote]

Ok.

[b]
import javax.swing.JOptionPane;

public class lacodevalor {

public static void main( String[] args ) {

int n;
String vn;

vn="";

n = 0;

System.out.print( "10*N" + "       " + " 100*N "+ "       " + "1000*N" +"\n");

while ( n<=4 ){

  n = n+1;

  System.out.print( 10*n + "          " +  100*n + "          " + 1000*n +"\n");



}



}

}[/b]