Consultar conteudo variavel

3 respostas
L

Olá pessoal,

Estou começando estudos Java e gostaria que alguém se puder verificar o que tem a mais ou a menos neste meu exemplo abaixo.
Neste exemplo eu tenho um arquivo texto onde possui 3 linhas e o programa varre e conta estas linhas na classe “numeroperguntas”
e na classe “testaclasses” eu quero consultar a variavel que conta estas linhas, como eu fiz abaixo ele me traz sempre 0, é que
estou me perdendo nos setters e getters, se alguem puder esclarecer qual a melhor forma de resolver eu agradeço.

**************testaclasses.java

class testaclasses{

public static void main (String[] args) {

int qtdeperguntas = 0;
numeroperguntas impn = new numeroperguntas();	
impn.quantasPerguntas(qtdeperguntas);
System.out.println("Nro de perguntas do questionario é: "+qtdeperguntas);

}

}

************numeroperguntas.java

import java.io.BufferedReader;

import <a href="http://java.net">java.net</a>.<em>;

import <a href="http://java.io">java.io</a>.</em>;

class numeroperguntas{
int Quantidade;

void quantasPerguntas(int quantidadeP) {

try {

String filePath = c:/temp/QUEST2.txt;

BufferedReader in = new BufferedReader(new FileReader(filePath));

String str;
while ((str = in.readLine()) != null) {

quantidadeP++;

}
setQuantidade(quantidadeP);		
    in.close();

}

catch (Exception ee) {

ee.printStackTrace();

}
}

void setQuantidade(int qquantidade) {

Quantidade = qquantidade;

}

int getQuantidade() {

return Quantidade;

}

}

3 Respostas

kenneth

Fala brow,

Antes de mais nada, por favor de uma lida aqui:

Depois, sugiro que voce leia algo sobre Code Convention, como por exemplo isto:

Agora, com relacao a sua duvida, é simples.
Voce usa uma classe, que instancia e chama outra classe. Esta por sua vez
esta fazendo o trabalho de contar as linhas.
Mas repare que na sua funcao quantasPerguntas, o retorno é void.
Ou seja, não retorna nada.

Uma solucao seria:

  • Ao invez de incrementar quantidadeP, incrementar o atributo Quantidade
  • Na hora de imprimir, utilize:
System.out.println("Nro de perguntas do questionario é: " + impn.getQuantidade());

Abraco!

hudsonpereira

Maninho, as convenções são essenciais para comunicação.

Siga os links do kenneth e veja algo sobre…

e use as tags [ code ] para escrever código.

L

Certo,

Obrigado, vou suas considerações!

abraço,

Luciano.

Criado 12 de janeiro de 2011
Ultima resposta 12 de jan. de 2011
Respostas 3
Participantes 3