cami-la / curso-dio-intro-collections

Resolução dos exercícios propostos: CURSO INTRODUTÓRIO COLLECTIONS FRAMEWORK JAVA.
https://web.digitalinnovation.one/home
602 stars 210 forks source link

Duvida #10

Closed Brujahhell closed 2 years ago

Brujahhell commented 2 years ago

Bom dia, estou tentando fazer um sorteador de itens (coisa de rpg rsrsrs) consegui fazer o Intellij ler o arquivo .txt, ele fez o sorteio e mostrou o numero, porem eu queria que ele mostrasse oq esta escrito naquele numero(naquela linha) e não estou conseguindo fazer isso pois o numero é um int e a leitura necessita de uma String. poderia me ajudar???

aqui esta o código. obs: o arquivo txt que ele esta lendo esta no final do codigo é o itens.txt

package ItensMagicos;

import java.io.IOException; import java.nio.file.Files; import java.nio.file.Path; import java.util.List; import java.util.Random;

public class Main {

public static void main(String[] args) throws IOException {

    int item;

    Path path = Path.of("C:\\Users\\Bruno\\Downloads\\itens.txt");

    Random random = new Random();
    item = random.nextInt(919);

    List<String> strings = Files.readAllLines(path);
    for (String ItensMagicos : strings) {
        System.out.println(ItensMagicos);

    }

        System.out.println("Voce encontrou um item, veja o item " + item);

    }
}

itens.txt

cami-la commented 2 years ago

Essa seria uma forma de fazer, vê se funciona pra você:

public static void main(String[] args) throws IOException {
    Random random = new Random();
    //Esse valor deverá ser entre 1 e 919.
    int item = random.nextInt(919) + 1;

    BufferedReader br = new BufferedReader(new FileReader("C:\\Users\\Bruno\\Downloads\\itens.txt"));
    String currentLine;

    int lineCounter = 1;
    while(true) {
      currentLine = br.readLine();
      if (lineCounter == item){
        System.out.println(currentLine);
        break;
      }
      lineCounter++;
    }
    System.out.println("Voce encontrou um item, veja o item " + item);
  }
Brujahhell commented 2 years ago

Camila, muito obrigado, deu certinho aqui. eu só subi o

"System.out.println("Voce encontrou um item, veja o item " + item);"

e coloquei ele no System.out.println(currentLine);

ficando System.out.println("Voce encontrou um item, " + currentLine);

muito obrigado mesmo...