Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Evandro Mureb

Salvar Resultados da Classe em TXT

Recommended Posts

Olá galera, sou novo por aqui e estou começando a estudar java.

 

Estou com um pequeno problema em uma classe que eu criei, gostaria de salvar o resultado de um array de 5 dimensões dentro de um arquivo txt, se for possível vocês me ajudarem ficaria muito grato.

 

Eu criei a seguinte classe:

 

public class Tabuada5{   
	public int num[][][][][]=new int[10][10][10][10][10];   
		   
	private int multiplica(int n1, int n2,int n3, int n4, int n5)   
		{ return n1*n2*n3*n4*n5;}   
	   
	public void exibir(){   
	   
		for (int i=0;i<10;i++){   
				for(int j=0;j<10;j++){   
					for (int l=0;l<10;l++){   
						for (int m=0;m<10;m++){   
							for (int n=0;n<10;n++){   
								num[i][j][l][m][n]=multiplica(i+1,j+1,l+1,m+1,n+1);   
								System.out.printf("\nvalor %d * %d * %d * %d * %d = %d", i+1,j+1,l+1,m+1,n+1,num[i][j][l][m][n]);   
							}   
						}   
					}   
				}   
				   
		}   
	}   
  
	public static void main (String a[])   
	{   
		   
		Tabuada5 obj=new Tabuada5();   
		obj.exibir();   
	}   
  
  
}

Com a classe acima eu gostaria que o resultado fosse salvo dentro de um arquivo TXT em vez de ser exibido na tela. Já tentei usando outras classes criando txt, porém não consegui nada ainda.

 

Agradeço se puderem me ajudar, e parabéns pelo fórum!!!

 

Evandro Macedo Mureb

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia, tenta colocar este método abaixo:

 

public void gravarConteudo(File arquivo,String texto)
{

Writer output = new BufferedWriter(new FileWriter(arquivo));

try{

output.write(texto);


}catch (Exception ex)
{
System.out.println(ex.getMessage());

}
finally
{
output.close();
}

}

Posta pra gente se funcionou ok.

 

Flwww, grande abraço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia, tenta colocar este método abaixo:

 

public void gravarConteudo(File arquivo,String texto)
{

Writer output = new BufferedWriter(new FileWriter(arquivo));

try{

output.write(texto);


}catch (Exception ex)
{
System.out.println(ex.getMessage());

}
finally
{
output.close();
}

}

Posta pra gente se funcionou ok.

 

Flwww, grande abraço.

Tentei aqui da minha maneira mas não deu certo, não sei quase nada de java, ele exibiu um arquivo TXT vazio rodou todo array porém não salvou.

 

Tem algum local específico que eu deva colocar o método acima?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Qual é formato de texto que você quer gravar no TXT?

 

Flwww

Compartilhar este post


Link para o post
Compartilhar em outros sites

Qual é formato de texto que você quer gravar no TXT?

 

Flwww

Olá sublyer, obrigado por me ajudar no primeiro post, na verdade eu só preciso exibir os 100.000 resultados um em abaixo do outro.

Não sei se o formato que falas é o ANSI ou outra codificação, mas é um arquivo txt normal que salve todos os resultados.

 

Desculpe eu não estar sendo muito específico, porém eu sou totalmente leigo ém java. É a primeira vez que trabalho com essa linguagem e até começar a engatinhar nela vai demorar um bocado ainda.

 

Agradeço a ajuda

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ok evandro, sem problemas, todo mundo engatinha um dia.. rs

 

 

Bom faz o seguinte e depois posta o resultado, ahh outra coisa, você está utilizando qual IDE pro desenvolvimento?

 

 

public class Tabuada5{  

	public String caminhoArquivo;
	public int num[][][][][]=new int[10][10][10][10][10];  
		  
	private int multiplica(int n1, int n2,int n3, int n4, int n5)  
		{ return n1*n2*n3*n4*n5;}  
	  
	public void exibir(){  
	  
		for (int i=0;i<10;i++){  
				for(int j=0;j<10;j++){  
					for (int l=0;l<10;l++){  
						for (int m=0;m<10;m++){  
							for (int n=0;n<10;n++){  
								num[i][j][l][m][n]=multiplica(i+1,j+1,l+1,m+1,n+1);  
								
								// CRIANDO O TEXTO
								
								String texto = ("\nvalor %d * %d * %d * %d * %d = %d", i+1,j+1,l+1,m+1,n+1,num[i][j][l][m][n]).toString();  
								
								// CARREGANDO O ARQUIVO
								
								File arquivo = new File(caminhoArquivo);
								
								// GRAVANDO O CONTEÚDO NO ARQUIVO
								
								this.gravarConteudo(arquivo,texto);
								
							}  
						}  
					}  
				}  
				  
		}  
	}  
  
  public void gravarConteudo(File arquivo,String texto)
	{

	Writer output = new BufferedWriter(new FileWriter(arquivo));

		try{

		output.write(texto);

		}catch (Exception ex)
		{
			System.out.println(ex.getMessage());

		}
		finally
		{
		output.close();
		}
	}
  
	public static void main (String a[])  
	{		   
		  
		Tabuada5 obj=new Tabuada5();  
		obj.caminhoArquivo = "c:\\arquivo.txt";
		obj.exibir();  
	}  
  
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá de novo, estou usando na faculdade BlueJ, JCreator e bloco de notas (hehe) no Trabalho to aprendendo a usar Eclipse e em casa além de todas essas estou usando NetBeans 6.1, ainda estou a procura de uma que eu me adapte, aceito sugestões. rss http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

 

Ainda não deu, na linha de exibição da string gera erro:

 

import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.Writer;

public class Tabuada5
{

	public String caminhoArquivo;
	public int num[][][][][] = new int[10][10][10][10][10];

	private int multiplica(int n1, int n2, int n3, int n4, int n5)
	{ return n1 * n2 * n3 * n4 * n5; }

	public void exibir(){  
	  
		for (int i=0;i<10;i++){  
				for(int j=0;j<10;j++){  
					for (int l=0;l<10;l++){  
						for (int m=0;m<10;m++){  
							for (int n=0;n<10;n++){  
								num[i][j][l][m][n]=multiplica(i+1,j+1,l+1,m+1,n+1);  
								
								// CRIANDO O TEXTO
								
								String texto = "\nvalor %d * %d * %d * %d * %d = %d", i+1,j+1,l+1,m+1,n+1,num[i][j][l][m][n].toString();  
								
								// CARREGANDO O ARQUIVO
								
								File arquivo = new File(caminhoArquivo);
								
								// GRAVANDO O CONTEÚDO NO ARQUIVO
								
								this.gravarConteudo(arquivo,texto);
								
							}  
						}  
					}  
				}  
				  
		}  
	}

	public void gravarConteudo(File arquivo, String texto)
	{

		Writer output = new BufferedWriter(new FileWriter(arquivo));

		try
		{

			output.write(texto);

		}
		catch (Exception ex)
		{
			System.out.println(ex.getMessage());

		}
		finally
		{
			output.close();
		}
	}

	public static void main(String a[])
	{

		Tabuada5 obj = new Tabuada5();
		obj.caminhoArquivo = "c:\\arquivo.txt";
		obj.exibir();
	}

}

A única coisa que modifiquei foi importar algumas bibliotecas, porém geraram 9 erros

 

Compilando pelo DOS com javac:

 

C:\Java>javac Tabuada5.java

Tabuada5.java:27: ';' expected

String texto = "\nvalor %d * %d * %d * %d * %d =

%d", i+1,j+1,l+1,m+1,n+1,num[j][l][m][n].toString();

 

^

Tabuada5.java:27: not a statement

String texto = "\nvalor %d * %d * %d * %d * %d =

%d", i+1,j+1,l+1,m+1,n+1,num[j][l][m][n].toString();

 

^

Tabuada5.java:27: ';' expected

String texto = "\nvalor %d * %d * %d * %d * %d =

%d", i+1,j+1,l+1,m+1,n+1,num[j][l][m][n].toString();

 

^

Tabuada5.java:27: not a statement

String texto = "\nvalor %d * %d * %d * %d * %d =

%d", i+1,j+1,l+1,m+1,n+1,num[j][l][m][n].toString();

 

^

Tabuada5.java:27: ';' expected

String texto = "\nvalor %d * %d * %d * %d * %d =

%d", i+1,j+1,l+1,m+1,n+1,num[j][l][m][n].toString();

 

^

Tabuada5.java:27: not a statement

String texto = "\nvalor %d * %d * %d * %d * %d =

%d", i+1,j+1,l+1,m+1,n+1,num[j][l][m][n].toString();

 

^

Tabuada5.java:27: ';' expected

String texto = "\nvalor %d * %d * %d * %d * %d =

%d", i+1,j+1,l+1,m+1,n+1,num[j][l][m][n].toString();

 

^

Tabuada5.java:27: not a statement

String texto = "\nvalor %d * %d * %d * %d * %d =

%d", i+1,j+1,l+1,m+1,n+1,num[j][l][m][n].toString();

 

^

Tabuada5.java:27: ';' expected

String texto = "\nvalor %d * %d * %d * %d * %d =

%d", i+1,j+1,l+1,m+1,n+1,num[j][l][m][n].toString();

 

^

9 errors

 

Compilando pelo Eclipse:

 

Exception in thread "main" java.lang.Error: Unresolved compilation problems:

Syntax error on tokens, Expression expected instead

Syntax error on token ",", . expected

i cannot be resolved or is not a field

Syntax error on token ",", . expected

j cannot be resolved or is not a field

Syntax error on token ",", . expected

l cannot be resolved or is not a field

Syntax error on token ",", . expected

m cannot be resolved or is not a field

Syntax error on token ",", . expected

n cannot be resolved or is not a field

Syntax error on token "i", delete this token

Syntax error on token "j", delete this token

Syntax error on token "l", delete this token

Syntax error on token "m", delete this token

 

at Tabuada5.exibir(Tabuada5.java:27)

at Tabuada5.main(Tabuada5.java:72)

Daí parei de novo, será que aprendo java um dia? hehe

Compartilhar este post


Link para o post
Compartilhar em outros sites

Apenas como dica, se estiver trabalhando com classes para armazenar as informações, você pode usar serialização.

 

Para mais informações:

http://www.devmedia.com.br/articles/viewcomp.asp?comp=3050

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá galera, primeiro gostaria de agradecer muito a ajuda de todos, foi muito útil, inicialmente eu consegui salvar em um arquivo segue o código:

 

import java.io.*;

public class Ex5{
	public int num[][][][][]=new int[10][10][10][10][10];
		
	private int multiplica(int n1, int n2,int n3, int n4, int n5)
		{ return n1*n2*n3*n4*n5;}
	
 	public void gravar() throws IOException{
		File f=new File("tabuada5.txt");
		if (f.exists()){ //se ja existir o arquivo o exclua e crie um novo
			f.delete();
			System.out.println("excluindo arquivo anterior..\n");
		}
		boolean a =f.createNewFile();
		System.out.println("criando arquivo de resultados\n GRAVANDO...");
		PrintWriter out=new PrintWriter(new FileOutputStream(f));
		for (int i=0;i<10;i++){
				for(int j=0;j<10;j++){
					for (int l=0;l<10;l++){
						for (int m=0;m<10;m++){
							for (int n=0;n<10;n++){
								num[i][j][l][m][n]=multiplica(i+1,j+1,l+1,m+1,n+1);
								out.printf("\nmultiplicar %d * %d * %d * %d * %d = %d\n", i+1,j+1,l+1,m+1,n+1,num[i][j][l][m][n]);
							}
						}
					}
				}
				
		}
		out.close();
	}
	public static void main (String a[])
	{
		 Ex5 obj=new Ex5();
		try{
		obj.gravar();
		}
		catch (IOException e){
		
		}
	}


}

Obrigado a todos pela ajuda, mais um passo na enorme caminha rumo ao java

hehe

 

Valew

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.