我想创建一种算法来识别用户输入是否重复。如果重复,它将提示用户一条消息,如果不重复,将继续该过程。
public static class Program
{
public static void Main()
{
Console.WriteLine("input array of numbers: );
int[] array = new int[4];
for(int i=0; i<3; i++)
{
array[i] = int.Parse(Console.ReadLine());
if(array[i] == array[0])
{
Console.WriteLine("repeating inputs")
}
}
Console.WriteLine("Highest number is:" + array.MaxLenght);
Console.ReadLine();
}
}
说明:消息“数字数组间:”将提示用户,然后用户将输入数字。如果用户输入了相同的号码,或者如果已经输入了该号码,则将通过诸如“重复输入!输入另一个号码”之类的消息提示用户。用户输入先前中断的唯一编号后,程序将继续并在输入的基础上打印出最大编号。
答案 0 :(得分:0)
我不确定我是否理解正确,但这是我可以从您的帖子中推断出来的内容: 您想从用户那里得到输入并检查是否重复输入,然后输出最高的数字(根据Console.WriteLine(“最高数字为:” + array.MaxLenght);)
这就是我的处理方式
Console.WriteLine("input array of numbers: ");
List<int> uniqueInts = new List<int>();
int[] array = new int[4];
for (int i = 0; i < 3; i++)
{
array[i] = int.Parse(Console.ReadLine());
if (!uniqueInts.Contains(array[i]))
uniqueInts.Add(array[i]);
}
//getting the max number
//assuming the first number is the max
int max = uniqueInts[0];
for (int i = 1; i < uniqueInts.Count; i++)
{
if (max < uniqueInts[i])
max = uniqueInts[i];
}
Console.WriteLine("The highest number is : " + max);
答案 1 :(得分:0)
我对这个答案有很多假设。假设您有if(array[i] == array[0])
,我假设您正在努力在当前迭代之前获取商品的价值。
如果是这种情况,只需将array[0]
更改为array[i-1]
。
等等!在此之前,您需要添加检查以确保您不在第一次迭代中。否则,您将在第一次迭代中引发异常,因为您将尝试获取array[-1]
,这是无效的。
for(int i=0; i<3; i++)
{
array[i] = int.Parse(Console.ReadLine());
if(i > 0)
{
if (array[i] == array[i-1])
Console.WriteLine("repeating inputs")
}
}
进行一些更改,我想您会得到想要的。