Создать список из числа, введенного пользователем - PullRequest
2 голосов
/ 11 марта 2020

Я ввел число от 1 до 10, теперь я хочу создать список с указанным размером и сохранить новые целые числа для каждого элемента из дополнительных входных данных.

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

Я не ищу код для решения этой проблемы, но точка в правильном направлении, что мне нужно научиться, чтобы быть в состоянии сделать это,

спасибо

using System;
using System.Collections.Generic;

namespace Monsters1
{
    class Program
    {
        static void Main(string[] args)
        {

            int totalOfMonsters = numberOfMonsters();
            Console.WriteLine("Total Number of Monsters = " + totalOfMonsters);

            Console.WriteLine();
            int numberOfHitPoints = HitPoints();//store this number into list - monstersInput?
            List<int> monstersInput = new List<int>(totalOfMonsters) ;

        }


        public static int numberOfMonsters()
        {
            string monsterNumbers;
            int min = 1;
            int max = 10;
            int result;
            do
            {
                Console.WriteLine("Enter a number between 1 and 10 for Number of Monsters.");
                monsterNumbers = Console.ReadLine();
                result = int.Parse(monsterNumbers);
                if (result < min || result > max) ;
                else
                    break;
            } while (true);

            return result;
        }

        public static int HitPoints()
        {
            // enter a number of hit points and store to list monsters
            int hitPoints;
            int min = 1;
            int max = 100;
            string hit;

            do
            {
                Console.WriteLine("Enter a Hit Number between 1 and 100 : ");
                hit = Console.ReadLine();
                hitPoints = int.Parse(hit);
                if (hitPoints < min || hitPoints > max) ;
                else
                    break;

            } while (true);

            return hitPoints;
        }
        //public static string Total()
        //{
        //    //final output to console with element list and hit points
        //    do
        //    {
        //        Console.WriteLine("Monster no.? has number of hit points");

        //    } while (true);

        //}


    }
}

1 Ответ

1 голос
/ 11 марта 2020

Поскольку вы знаете о циклах, лучший подход, который я могу придумать:

  1. Запросить целое число от 1 до 10 и сохранить его в переменной (totalOfMonsters)
  2. Создайте список с размером, равным totalOfMonsters (monstersInput)
  3. Создайте al oop, который повторяется "totalOfMonsters" раз. 3.a Внутри l oop спросите на каждой итерации количество hitPoints и добавьте его в список.

Вы уже делаете шаги 1 и 2:

static void Main(string[] args)
    {

        int totalOfMonsters = numberOfMonsters();
        Console.WriteLine("Total Number of Monsters = " + totalOfMonsters);

        Console.WriteLine();
        int numberOfHitPoints = HitPoints();//store this number into list - monstersInput?
        List<int> monstersInput = new List<int>(totalOfMonsters);
  }

Но для шага 3 вы должны создать все oop, у вас была правильная идея со строкой:

int numberOfHitPoints = HitPoints();

Единственное, чего не хватает, это l oop и сохранения каждого нового элемента на список. Поскольку вам не нужны решения для кода, позвольте мне дать хотя бы и обрисовать, как вы можете это сделать:

    //Creating loop to fill the hitPoints of every monsters
    int someCounter = 1;
    do
    {
         //ask for the hitpoints 
         //save the hitpoints in the list
         //increase the value of the counter
    }
    while(someCounter <= sizeOfYourList);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...