Como chamar métodos da mesma classe

5 respostas
X
Tenho o código abaixo e queria chamar os métodos. Como eu faço?
package atividade3;
import java.util.*;
import java.io.File;
import java.io.FileNotFoundException;
import java.lang.String;
/*
 * AXXXXXO
 * MATRÍCULA/LOGIN XXXXXXX
 */
public class Atividade3 {
    
   public String nomearquivo = "pg33056.txt";
   public String nome_arquivo = nomearquivo ;
    
    public static void main(String[] args) throws FileNotFoundException{
        
        //leHashSet();
        //leTreeSet();
       // leLinkedList();       
    } 
    
  
    void leLinkedList(String nome_arquivo) throws FileNotFoundException{
        LinkedList<String> words = new LinkedList<String>();
        long totalTime = 0; 
        
        Scanner in = new Scanner(new File(nome_arquivo));
               while (in.hasNext())
        {
            String word = in.next();
            long callTime = System.currentTimeMillis();
            words.add(word);
            callTime = System.currentTimeMillis() - callTime;
            totalTime += callTime;            
        }
        Iterator<String> iter = words.iterator();
        for (int i=1;i<=20 && iter.hasNext();i++)
            System.out.println(iter.next());
        System.out.println("--------------------------------------------------------------------------");
        System.out.println("Lendo arquivo para LinkedList...");
        System.out.println("Em LinkedList foram achadas " + words.size() + " palavras. " + totalTime + " milliseconds.");
    
    }
    
    void leTreeSet(String nome_arquivo) throws FileNotFoundException{
        LinkedList<String> words = new LinkedList<String>();
        long totalTime = 0; 
        
        Scanner in = new Scanner(new File(nome_arquivo));
               while (in.hasNext())
        {
            String word = in.next();
            long callTime = System.currentTimeMillis();
            words.add(word);
            callTime = System.currentTimeMillis() - callTime;
            totalTime += callTime;            
        }
        Iterator<String> iter = words.iterator();
        for (int i=1;i<=20 && iter.hasNext();i++)
            System.out.println(iter.next());
        System.out.println("--------------------------------------------------------------------------");
        System.out.println("Lendo arquivo para TreeSet...");
        System.out.println("Em TreeSet foram achadas " + words.size() + " palavras diferentes. " + totalTime + " milliseconds.");
    
    }
    
    void leHashSet(String nome_arquivo) throws FileNotFoundException{
        LinkedList<String> words = new LinkedList<String>();
        long totalTime = 0; 
        
        Scanner in = new Scanner(new File(nome_arquivo));
               while (in.hasNext())
        {
            String word = in.next();
            long callTime = System.currentTimeMillis();
            words.add(word);
            callTime = System.currentTimeMillis() - callTime;
            totalTime += callTime;            
        }
        Iterator<String> iter = words.iterator();
        for (int i=1;i<=20 && iter.hasNext();i++)
            System.out.println(iter.next());
        System.out.println("--------------------------------------------------------------------------");
        System.out.println("Lendo arquivo para HashSet...");
        System.out.println("Em HashSet foram achadas " + words.size() + " palavras diferentes. " + totalTime + " milliseconds.");
    
    }
}

5 Respostas

andbecker

quer chamar onde?? no fim do código???

seria bom falar a função da classe…

tgmangolini

Bem, da forma como está o código, para acessar os métodos dessa classe você precisará instanciar um objeto do tipo da classe dentro do método main(). Ex:

Atividade3 atividade3 = new Atividade3();

Então, você poderá utilizar os métodos deste objeto criado, por meio do operador “.” , por exemplo:

atividade3.leTreeSet(“arquivo”);

Outra opção: se você marcar os métodos da classe com o modificador “static” você poderia utilizá-los sem precisar instanciar um objeto…

B

Simplesmente descomente (remover as barras // do início da linha) as linhas 17, 18 e 19. e execute
a classe; Você irá chamar os métodos.

X

Bruno Tinoco:
Simplesmente descomente (remover as barras // do início da linha) as linhas 17, 18 e 19. e execute
a classe; Você irá chamar os métodos.

É isto mesmo! Obrigado.

Alguém perguntou o que os métodos fazem:
Eles abre um arquivo texto e conta o número de palavras sem repetições. Também contam o tempo consumido para isto.
Já o método com LinkedList, conta apenas as palavras e o tempo consumido.

Obrigado novamente Bruno Tinoco!

mateusviccari

tem certeza que os códigos foram executados?
Pois ao que parece nao funciona não, a nao ser que voce declare os metodos como sendo static, ou crie uma instancia da propria classe dentro do método main, como ja falaram acima.

Criado 9 de junho de 2012
Ultima resposta 10 de jun. de 2012
Respostas 5
Participantes 5