Как я могу создать цикл для случайного присвоения значений каждой характеристике массива экземпляров классов - PullRequest
0 голосов
/ 24 октября 2018

Итак, я создаю карточную игру, в которой требуются разные карточки, поэтому я создал класс карточек, в котором я объявил имена строковых значений и другие целочисленные значения, например, степени.Интеллект

public static class hero{
static String name;
static int strength;
static int intellect;
static int flight;
static int tech;
}

Итак, я создал массив экземпляров этих классов.Их имена читаются из текстового файла и присваиваются значению имени.Q1) У меня проблемы с чтением файла и назначением строки для значения имени каждого экземпляра класса.Это то, что я сделал до сих пор

public static void readLines(File f)throws IOException{
        FileReader fr = new FileReader(f);
        BufferedReader br = new BufferedReader(fr);
        String line;
        while((line = br.readLine()) != null){
        System.out.println(line);
        }
        br.close();
        fr.close();
        }
        static File f = new File("C:/Users/jeff/Desktop/test/names.txt");
        try{
        readLines(f);
        } catch  (IOException e){
        e.printStackTrace();
    }

Q2) Часть, с которой у меня также возникают проблемы, это часть, где мне нужно создать цикл для случайного присвоения значений каждой степени каждого экземпляраучебный класс.Вот что я сделал до сих пор

               {
               hero [] cards = new hero[cardNumber];
               for(int i=4;i<cardNumber;i++){ cards[i]=new hero();}
               Random rand = new Random();
               for(int i=0; i<cards.length; ++i)
               {
               cards[i].strength = rand.nextInt(25) + 1;
               cards[i].intellect = rand.nextInt(25) + 1;
               cards[i].flight = rand.nextInt(25) + 1;
               cards[i].tech = rand.nextInt(25) + 1;
               }    

Но когда я распечатываю значения, все экземпляры имеют одинаковое значение для своих полномочий.Например, Card 12 Intelligence = 6 и Card 14 Intelligence = 6

Может ли кто-нибудь помочь мне с этими вопросами, и любые рекомендации будут высоко оценены Спасибо

...