Estrutura while

17 respostas
M

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

17 Respostas

Rafael_Nunes

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

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.
M

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.

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…

kina

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

M

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

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

Rafael_Nunes

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

M

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

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í?

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.

M

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.

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

leotrux

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++;
		}
	}
}
M

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, n<em>10, n</em>100, n*1000);

n++;

}

}

}

Como eu deixo meu código dentro desse retangulos???..hehehe

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

leotrux

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.

M

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

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!! :slight_smile:

M

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!! :)

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

abs,

leotrux

Coloca ai como vc fez…hehehe
Curiosidade mata!

Abraxxx!

M

leotrux:
Coloca ai como vc fez…hehehe
Curiosidade mata!

Abraxxx!

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]

Criado 7 de julho de 2005
Ultima resposta 8 de jul. de 2005
Respostas 17
Participantes 5