Pequena duvida

5 respostas
C

Olá pessoal.

Tenho uma pequena dúvida: eu gostaria de criar duas classes, uma para receber apenas parâmetros e a outra para fazer o programa funcionar. Mas, como eu devo proceder quando tenho:

class RecebeParametro {
  public static void main( String args [] ) {
    int inteiro = Integer.parseInt(args[0]);
    String nome = args[1];
  }
}

class LerParametro{
  // como eu faco aqui para ler os parametros args[0] e args[1] da classe RecebeParametro??????

Não sei se fui claro, mas em todo caso agradeço a atenção.

5 Respostas

L

Cara, o método main aceita argumentos pela linha de comando quando vc chama o arquivo class pelo compilador, por exemplo

no costrutor da classe é assim


System.out.println(args[0] + args[1]);

e eu a chamo assim no pronpt de comando:

java nomedoarquivo Alo Mundo

no caso a alo mundo são as strings de argumentos, vc pode fazer uma método no caso na classe recebe parametro do tipo getNome que ficaria assim:

public string getNome(){

return this.nome;

}

e vc poderia chamar de dentro da classe leparametro o métod público da classe recebe parametro

x = classe.getNome;

espero ter ajudado

Abraços,

L

Cara, o método main aceita argumentos pela linha de comando quando vc chama o arquivo class pelo compilador, por exemplo

no costrutor da classe é assim


System.out.println(args[0] + args[1]);

e eu a chamo assim no pronpt de comando:

java nomedoarquivo Alo Mundo

no caso a alo mundo são as strings de argumentos, vc pode fazer uma método no caso na classe recebe parametro do tipo getNome que ficaria assim:

public string getNome(){

return this.nome;

}

e vc poderia chamar de dentro da classe leparametro o métod público da classe recebe parametro

x = classe.getNome;

espero ter ajudado

Abraços,

C

Obrigado cara. Sua resposta ajudou bastante. Só mais uma dúvida: se eu fizer

class Exemplo {
  static int a, b;
  public static void main(String args[]) {
    a = Integer.parseInt(args[0] );
    b = Integer.parseInt(args[1] );
  }
  
  int getInt() {
    return this.a; }
  
  int getInt2() {
    return this.b;  }
}

Como eu tenho duas variáveis do tipo int, pra receber cada um deles eu preciso necessariamente criar dois metodos? Por exemplo, se eu precisasse de 10 variaveis do tipo int, eu teria que fazer: getInt1, getInt2, getInt3, … , getInt10?
Valeu

L

Fala Candahar,

Como eu tenho duas variáveis do tipo int, pra receber cada um deles eu preciso necessariamente criar dois metodos? Por exemplo, se eu precisasse de 10 variaveis do tipo int, eu teria que fazer: getInt1, getInt2, getInt3, … , getInt10?
Valeu

na verdade como o argumento args é um array de string vc pode fazer uma coisa do tipo: class Exemplo { public static void main(String args[]) { ... } int getInt(int i) { return Integer.parseInt(args[i] ); } }
deste modo vc economiza na declaração de vairáveis e nas linhas de código, espero ter ajudado.
Abraços,

C

Valeu cara, novamente. Eu posso estar viajando completamente, mas quando eu faço:

class Exemplo { 
    public static void main(String args[]) { 
          ...
    }
    int getInt(int i) { 
          return Integer.parseInt(args[i] );   
    }
}

a Java não vai reconhecer o args[i] porque este é uma variável do método main. Como o getInt está fora do método main, então acredito que o args[i] não será reconhecido.
Agradeço a atenção. Abraços.

Criado 8 de novembro de 2004
Ultima resposta 11 de nov. de 2004
Respostas 5
Participantes 2