我需要创建一个数组来存储10个整数,并允许用户使用3个选项来处理数据
本文关键字:用户 许用户 数据 处理 选项 3个 10个 创建 一个 整数 存储 | 更新日期: 2023-09-27 18:25:25
这里有代码。前两部分很好;没有问题。
using System;
namespace MyNameSpace
{
class IntArrayDemo
{
static void Main()
{
//Declare variables
double[] dblIntArray = {100, 200, 300, 400, 500, 600, 700, 800, 900, 1000};
string[] strIntArray = {"1", "2", "3", "4", "5", "6", "7", "8", "9", "10"};
double dblSentVal = 0;
//Get user input
Console.WriteLine("Enter 1 to view the list in numeric order. Enter 2 to view the list in reverse numeric order. Enter 3 to choose a specific position to view.");
dblSentVal = (Convert.ToDouble(Console.ReadLine()));
if (dblSentVal == 1)
{
foreach(double dblInt in dblIntArray)
Console.WriteLine(dblInt);
Console.ReadLine();
}
else if (dblSentVal == 2)
{
Array.Reverse(dblIntArray);
foreach(double dblInt in dblIntArray)
Console.WriteLine(dblInt);
Console.ReadLine();
}
else if (dblSentVal == 3)
{
for (int k = 0; k < strIntArray.Length; ++k)
{
if (strIntArray[k] == Console.ReadLine())
{
Console.WriteLine("Number {0} in the list is {1}", strIntArray[k], dblIntArray[k]);
}
}
}
Console.ReadLine();
}
}
我遇到的问题是这里的第三个选项:
else if (dblSentVal == 3)
{
for (int k = 0; k < strIntArray.Length; ++k)
{
if (strIntArray[k] == Console.ReadLine())
{
Console.WriteLine("Number {0} in the list is {1}", strIntArray[k], dblIntArray[k]);
}
}
}
Console.ReadLine();
当执行并选择第三个选项时,程序将运行,但为了查看数组中的整数4,我必须在控制台中键入数字4,4次,如下所示:
44.4.4.列表中的第4位是400
我不想要这个。在只键入4一次之后,它应该显示"列表中的数字4是400"。请帮忙!
Console.ReadLine()
时,k
等于0。CCD_ 3将仅在循环中的第4次等于4。
如果您希望用户输入的值是在for循环中读取的值,则将Console.ReadLine从循环中拉出:
string str = Console.ReadLine();
for (int k = 0; k < strIntArray.Length; ++k)
{
if (strIntArray[k] == str)
{
Console.WriteLine("Number {0} in the list is {1}", strIntArray[k], dblIntArray[k]);
}
}
比你想象的更容易:
else if (dblSentVal == 3)
{
int index = int.Parse(Console.ReadLine())
Console.WriteLine("Number {0} in the list is {1}", index, dblIntArray[index]);
}
Console.ReadLine();
它是一个数组,只需对其进行索引;不需要循环。
如果您的用户不使用基于0的数组,您可能希望将index-1
用于第二项:)