Galera ja li varios topicos com return mais ainda nao esta muito claro isso pra mim, desde o momento onde tenho que ler a linha de entrada dos dados ate a linha de impressao. Tentei fazer um exercicio que leia um numero e mostre se de 0 ate esse número lido quais sao multiplos de 3 porem nao tive resultado. Se alguem puder me ajudar agradeço.
package Exercicios;
import javax.swing.JOptionPane;
public class Exemplo {
public static void main(String[] args){
int numero;
numero = Integer.parseInt(JOptionPane.showInputDialog("Digite um Número"));
System.out.println("os valores multiplos de 3 são: " + multiplicar(numero));
}
public static int multiplicar(int valor){
for(int i =0; i < valor; i = i + 3);
return valor;
}
}
O return vai fazer você sair do método na primeira vez que ele for acessado. Por isso não está conseguindo obter o resultado.
Você pode colocar o resultado do for em um array e então retornar esse array ou então usar o System.out.println dentro do for e não no método main.
tentei fazer aqui como o romarcio disse mas nao to sabendo que variavel pegar pra imprimir, devo passar qual delas pra retorno?
Eu falo em fazer algo assim:
public static void multiplicar(int valor){
for(int i =0; i < valor; i = i + 3) {
System.out.println("os valores multiplos de 3 são: " + i);
}
}
Dentro do for você mostra o que quer mostrar, não precisa retornar nada.
romarcio fiz da forma que vc falou deu tudo certo, porem ainda preciso entender como seria possivel fazer isso com o metodo return, pois ainda esta meio nublado meu exemplo com esse metodo. obrigado pelas suas dicas se puder me ajudar com mais essa agradeço.
import javax.swing.JOptionPane;
import java.util.*;
public class Exemplo2 {
public static void main(String[] args){
int numero;
numero = Integer.parseInt(JOptionPane.showInputDialog("Digite um Número"));
List<Integer> valores = multiplicar(numero);
for (Integer valor : valores) {
System.out.println("Este valor é multipo de 3: " + valor);
}
}
public static List<Integer> multiplicar(int valor){
List<Integer> valores = new ArrayList<Integer>();
for(int i =0; i < valor; i = i + 3) {
valores.add(i);
}
return valores;
}
}
Cria uma lista para armazenar os valores do for.
Depois retorna essa lista.
Faz um for na lista e exibe os resultados.
romarcio muito obrigado era isso mesmo que eu queria saber.