Bom dia pessoal, preciso de ajuda. Procuro na Internet uma forma de ler dois valores do teclado n e m em seguida salvar os valores de i em um Arraylist. Posteriormente, pretendo varrer o arraylist buscando alguns dados. Alguém sugere um trecho de código?
ArrayList<Integer> lista = new ArrayList<Integer>();
for(i=0; i <= n; i = n - m) {
//lista.add(i);
System.out.println(i);
System.out.println("items:" + lista.add(i));
public class LeituraValores {
public static void main(String[] args) {
Scanner ler = new Scanner(System.in);
int i, j , m, n;
System.out.print("Digite um valor inicial:\n ");
n = ler.nextInt();
System.out.print("Ok ! \n Digite um intervalo: \n ");
m = ler.nextInt();
ArrayList<Integer> lista = new ArrayList<Integer>();
for(i=0; i <= n; i = n - m) {
//lista.add(i);
System.out.println(i);
System.out.println("items:" + lista.add(i));
}
}
Ok, já sabemos de onde vem o i. Mas e???
Qual o objetivo?
Você já está lendo os dois valores:
System.out.print("Digite um valor inicial:\n ");
n = ler.nextInt();
System.out.print("Ok ! \n Digite um intervalo: \n ");
m = ler.nextInt();
E já está inserindo o valor de i numa lista
ArrayList<Integer> lista = new ArrayList<Integer>();
for(i=0; i <= n; i = n - m) {
//lista.add(i);
System.out.println(i);
System.out.println("items:" + lista.add(i));
}
Olhe essa linha e me diga onde tá o erro ali.
Se a ideia é você andar de n até m, por que i começa com valor 0? E por que a condição de incremento é i = n - m, supondo que n é menor que m? Obviamente você entrou num loop infinito.
Esse código deu certo. Quero salvar os dados impressos desse código em um arraylist. Depois pretendo percorrer esse array e imprimir o restante dos números no intervalo de n.
public class LeituraValores {
public static void main (String args[]) {
Scanner ler = new Scanner(System.in);
System.out.print("Digite um valor inicial:\n ");
n = ler.nextInt();
System.out.print("Ok ! \n Digite um intervalo: \n ");
m = ler.nextInt();
for(i=1;i<=n;i=i+m) {
for(j=n;j<=n;j=n--)
System.out.printf(" As regiões selecionadas foram: %d com i \n ", i);
System.out.printf(" As regiões selecionadas foram: %d com j \n ", j);
}
}
}
Por exemplo, se utilizar o código abaixo inserindo 20 e 2 imprime uma sequencia de de 1 3 5 7 9 e 11. Quero salvar a sequencia em um arraylist
public class LeituraValores {
public static void main (String args[]) {
Scanner ler = new Scanner(System.in);
System.out.print("Digite um valor inicial:\n ");
n = ler.nextInt();
System.out.print("Ok ! \n Digite um intervalo: \n ");
m = ler.nextInt();
for(i=1;i<=n;i=i+m) {
//for(j=n;j<=n;j=n--)
System.out.printf(" As regiões selecionadas foram: %d com i \n ", i);
//System.out.printf(" As regiões selecionadas foram: %d com j \n ", j);
}
}
}