4

我试图让用户输入 10 个数字。收到数字后,我将它们存储在一个数组中,然后打印该数组。我想出了以下代码来完成任务,但它没有打印数组。

也觉得我可能为一个简单的任务写了太多的代码。请注意,我对 c# 很陌生,因此不熟悉高级的东西,甚至可能是大多数基本的东西。即使是“convert.toInt32”,我也是从阅读中采用的,还没有在课堂上教过。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace test_Array
{
    class Program
    {
        static void Main(string[] args)
        {
            int a;
            int b;
            int c;
            int d;
            int e;
            int f;
            int g;
            int h;
            int i;
            int j; 

            Console.WriteLine("Please input 10 numbers. Press 'ENTER' after each number.");
            a = Convert.ToInt32(Console.ReadLine());
            b = Convert.ToInt32(Console.ReadLine());
            c = Convert.ToInt32(Console.ReadLine());
            d = Convert.ToInt32(Console.ReadLine());
            e = Convert.ToInt32(Console.ReadLine());
            f = Convert.ToInt32(Console.ReadLine());
            g = Convert.ToInt32(Console.ReadLine());
            h = Convert.ToInt32(Console.ReadLine());
            i = Convert.ToInt32(Console.ReadLine());
            j = Convert.ToInt32(Console.ReadLine());

            int[] newArray = {a,b,c,d,e,f,g,h,i,j};

            Console.WriteLine(newArray);

            Console.ReadLine();
        }
    }
}
4

4 回答 4

7

使用for循环。

int[] newArray = new int[10];
for (int i = 0; i < newArray.Length; i++)
{
    newArray[i] = Convert.ToInt32(Console.ReadLine());
}

您也可以使用相同的循环来显示:

for (int i = 0; i < newArray.Length; i++)
{
    Console.WriteLine(newArray[i]);
}
于 2013-10-02T20:19:29.780 回答
3

数组的ToString方法(这是Console.WriteLine在您的代码中调用的)没有重载以打印出数组的内容。它留下了object仅打印类型名称的基本实现。

您需要手动迭代数组并打印出各个值(或使用为您执行此操作的方法)。

IE

foreach(var item in array)
    Console.WriteLine(item)

或者

Console.WriteLine(string.Join("\n", array));
于 2013-10-02T20:19:22.443 回答
1
    static void Main(string[] args)
    {
        int[] rollno = new int[10];
        Console.WriteLine("Enter the 10 numbers");
        for (int s = 0; s < 9; s++)
        {
            rollno[s] = Convert.ToInt32(Console.ReadLine());
            rollno[s] +=  110;

        }
        for (int j = 0; j < 9; j++)
        {
            Console.WriteLine("The sum of first 10 numbers is : {0}", rollno[j]);
        }
        Console.ReadLine();
    }
}

}

于 2014-12-19T04:49:56.633 回答
0

您可以通过以下方式简化很多事情:

static void Main(string[] args)
{
    int newArray = new int[10];

    Console.WriteLine("Please input 10 numbers. Press 'ENTER' after each number.");
    for (int i = 0; i < 10; i++) {
        newArray[i] = Convert.ToInt32(Console.ReadLine());
    }

    Console.WriteLine("The values you've entered are:");
    Console.WriteLine(String.Join(", ", newArray));

    Console.ReadLine();
}
于 2013-10-02T20:20:25.940 回答