Jump to content

Files e classes DUVIDA


lamuria
 Share

Recommended Posts

boas

sou muito novo a programar e gostava que me tirassem uma dúvida.

eu tenho um ficheiro de texto a entrar num programa, o objectivo é fazer-lhe umas modificações..

a classe que lhe faz essas modificações ja a tenho feita e a funcionar para Strings inseridas pelo utilizador, mas como o ficheiro não funca. podem me ajudar?

no main tenho este código:

import java.util.*;
import java.io.PrintStream;
import java.util.Scanner;
public class test{
public static void main(String[]args){

	if(args.length != 2){
		System.out.println("Erro, nao introduziu o nome dos dois ficheiros");
    		System.exit(0);	
	}		
	Scanner input = FileAcess.readerForFile("input.txt");
	while (input.hasNextLine()){
		String line= input.nextLine();
		String[] array= dictionaryEncode(input);
	}
    	if(input == null){
    		System.out.println("Erro a abrir ficheiro");
    		System.exit(0);
    	}
    	PrintStream output = FileAcess.writerForFile(args[1]);
    	if(output == null){
    		System.out.println("Erro a criar ficheiro");
    		System.exit(0);
    	}
    	
    	while(input.hasNextLine()) output.println(input.nextLine());




	/*for(int i=0;i<array.length;i++)
		System.out.println(array[i]);*/
}
}

e a minha classe entre outras coisas é isto

import java.util.*;
public class comprime{

private static int numberofrepetitions;
private String word;

public comprime(int numberofrepetitions,String word){
	this.numberofrepetitions=numberofrepetitions;
	this.word=word;
}

public int getrepetitions(){

	return numberofrepetitions;
}

public String getwords(){

	return word;
}

public String[] dictionaryEncode(String line){
	String[] wrd = new String[line.length()];
	int counter=0, x=0, y=0, pos=0, contador=0;;

	while(pos<line.length()){  

obrigado a quem me responder

Link to comment
Share on other sites

É mais simples se indicares o que é que não funciona, e no caso do erro, que erro de compilação tens, até porque a mensagem de erro diz-te o que está mal e o que tens de corrigir.

Claro que podia analisar o teu código, mas o tempo é sempre pouco para responder e estar a ver o código, se explicares o que não estás a conseguir fazer é mais fácil ajudar.

Link to comment
Share on other sites

Essa mensagem de erro não está completa, mas o que indica é que estás a aceder a um método ou variável de instância a partir de um contexto estático, isto é, estás a aceder a um método ou uma variável que só pode existir dentro de uma instância a partir de um método que é estático e só tem acesso a outros métodos e atributos que sejam estáticos.

Link to comment
Share on other sites

Acho que a clase "comprime" não devia guardar uma variavel static para o número de repetições, porque ao adicionar outras palavras, o valor da variavel vai substituir o anterior (static quer dizer que ha uma mesma variavel para todas as instancias de uma clase).

Tambem não estou a entender muito bem o loop while do main, que está sempre a repetir o mesmo processo sem fazer nada em concreto... 😉

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.