Como chamar métodos da mesma classe

Tenho o código abaixo e queria chamar os métodos. Como eu faço?

[code]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 words = new LinkedList();
    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 words = new LinkedList();
    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 words = new LinkedList();
    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.");
    

    }
    }[/code]

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

seria bom falar a função da classe…

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…

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.

[quote=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.[/quote]

É 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!

1 curtida

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.