Métodos

6 respostas
L

Fala gente,
Estou com dúvidas em uma atividade da facul onde tenho que ler um vetor de 10 posições utilizando um método. Neste vetor serão armazenados 10 numeros inteiros e os valores serão definidos pelo usuário (usuário digita os valores).
Sei que é um dúvida bem simples porém estou com dificuldade em invocar o método no método main.
Uma outra dúvida, para este problema devo criar o método lerVetor utiliziando o void? Ou o return? Creio que seja o return pois utilizarei os valores inseridos no vetor para outras operações, obrigado?
Sei que são dúvidas bem básicas, porém estou precisando desse empurrãozinho, desde ja, grato!

6 Respostas

peczenyj

Ola

o metodo main vc não invoca, via de regra. ele é o metodo que sera invocado quando vc pedir que a JVM execute uma determinada classe.

vc parece ter um problema muito basico de entendimento da linguagem java e de programação em si.

aprenda com os melhores:

L

Sim, não quero invocar o método main, quero invocar o método lerVetor que eu criei, no método main. Estou sem o código no momento para poder mostrar a vocês, só queria sanar essa dúvida antes da aula de hoje, que terei uma prova sobre métodos.

Lucas_Camara

Primeiramente, dê uma lida no link que o @peczenyj colocou. Muito bom!

Pela descrição que você colocou, acredito que você não esteja conseguindo invocar o método por conta do método main ser estático (static), o que exige que o método a ser chamado também seja.

peczenyj
classe Qqcoisa {
  static void lerVetor() { 
    System.out.println("Ola eu sou o seu metodo estatico lerVetor e fui executado dentro do main()");
  }
  static void main ( ... ) { 
     lerVetor(); /* chamando o metodo */
  }
}
L

Obrigado pela atenção de vocês senhores, porém, tentando esclarecer melhor agora:
Eu quero criar um método que leia 10 números inteiros que devem ser armazenados em um vetor. E quero utilizar estes valores que foram armazenados para realizar outras operações. Poderia fazer da seguinte forma(Código abaixo), porém tenho que criar um método apenas para ler o vetor e retornar seus valores no método main. Preciso desses valores porque depois irei criar outros métodos para ver qual é o maior e menor valor armazenados no vetor.


public class Qqcoisa {

public static void main(String[] args) {
            Scanner entrada = new Scanner(System.in);

            int[] vetor = new int[10];
            
            System.out.println("Digite 10 números inteiros ");
            for (int i = 0; i < 10; i++) {
    
            vetor[i] = entrada.nextInt();
             }
}

}


Estava mexendo no código e consegui fazer com que o método lesse o vetor de números, porém como faço outro método para imprimi-lo? Segue meu código:
package javaapplication18;

import java.util.Scanner;

/**
*

  • @author Eliseu
    */
    public class Metodo{

    /**

    • @param args the command line arguments
      */
      public static void main(String[] args) {
      Scanner entrada = new Scanner(System.in);
      int[] nmr = new int[10];
      System.out.println(“digite 10 números”);
      lerVetor(nmr);

    imprimeVetor(nmr);

    }
    
    public static int[] lerVetor(int number[]){
    
    Scanner entrada = new Scanner(<a href="http://System.in">System.in</a>);
    
    int[] nmr = new int[10];
     for(int i = 0; i < 10; i++){       
     nmr[i] = entrada.nextInt();
     }
     return nmr;
    
    }
    
    public static void imprimeVetor(int[] number){
    
    int[] nmr = new int[10];
    
    for (int i = 0; i < 10; i++) {
    
    System.out.println(nmr[i]);
    
    }
    
    }
    
    }
    

Pois quando o executo ele imprime todos os valores como 0. Por que isso acontece se acabei de armazenar os valores na variável nmr e a mesma imprime apenas 0? Obrigado desde já!

peczenyj

simples

no imprimeVetor vc recebe um array chamado number

e ai vc resolve imprimir, por alguma razão, um array novo, o nmr, que vc criou e ignora o que vc recebeu.

alias observando como vc programou, parece q vc fez um copy paste e saiu criando arrays e laços sem criterio.

vc nao precisa do nmr em nenhum vetor, seja o ler seja o imprime.

inclusive vc retorna no lerVetor e isso é solenemente ignorado.

Criado 6 de setembro de 2016
Ultima resposta 7 de set. de 2016
Respostas 6
Participantes 3