繁体   English   中英

从用户输入的数字创建列表

[英]Create a list from a number entered by user

我输入了一个 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 到 10 的整数并将其存储在一个变量中 (totalOfMonsters)
  2. 创建一个大小等于 totalOfMonsters (monstersInput) 的列表
  3. 创建一个重复“totalOfMonsters”次的循环。 3.a 在循环内部,在每次迭代中询问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 步,您必须创建一个循环,您对这一行有正确的想法:

int numberOfHitPoints = HitPoints();

唯一缺少的是循环并将每个新元素保存在列表中。 由于您不想要代码解决方案,让我至少给出并概述如何执行此操作:

    //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);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM