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!
Métodos
6 Respostas
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:
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.
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.
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 */
}
}
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]); } } }
-
@param args the command line arguments
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á!
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.