我编写了一个代码,用于交换数组的第一个和最后一个值。 我让它工作,但由于某种原因它不显示数组的原始值。它仅显示交换的值。我希望它显示原始值,并在底部显示交换值。我做错了什么?请保持简单,因为我还不熟悉编码感谢。
static void Main(string[] args)
{
int[] A = { 3, -12, 6, 9, -7, -13, 19, 35, -8, -11, 15, 27,-1 };
Console.WriteLine("\n=====================\n");
Console.WriteLine("Swapping first and last element");
SwapFirstAndLast(A);
DisplayArray(A);
//pause
Console.ReadLine();
}
static void SwapFirstAndLast(int[] array)
{
int temp = array[0];
array[0] = array[array.Length -1];
array[array.Length - 1] =temp;
}
//method to display array
static void DisplayArray(int[] array)
{
Console.WriteLine("\n===========================\n");
for (int i = 0; i < array.Length; i++)
{
Console.Write("{0} ",array[i]);
}
Console.WriteLine("\n===========================\n");
}
答案 0 :(得分:2)
正如乔恩所说,你需要在变异DisplayArray(A);
之前致电int[] A = { 3, -12, 6, 9, -7, -13, 19, 35, -8, -11, 15, 27,-1 };
。
像这样:
int[] A = { 3, -12, 6, 9, -7, -13, 19, 35, -8, -11, 15, 27,-1 };
Console.WriteLine("The array I want to change:");
DisplayArray(A);
Console.WriteLine("\n=====================\n");
Console.WriteLine("Swapping first and last element");
SwapFirstAndLast(A);
DisplayArray(A);
//pause
Console.ReadLine();
所有初学者和专业程序员的常见错误:)。下一次,逐行逐步执行main
方法,并告诉自己这个特定代码行的作用。如果它与您想要做的不一致,那么现在您注意到存在问题:)。
或者你可以使用两个数组,比如说A
是你的输入数组,将A
指定为B
,然后使用SwapFirstAndLast(B)
,这样你就可以使用两个数组非变异数组供使用。
答案 1 :(得分:0)
我也建议你做一些改进:
static void Main(string[] args)
{
int[] A = { 3, -12, 6, 9, -7, -13, 19, 35, -8, -11, 15, 27,-1 };
DisplayArray(A);
Console.WriteLine("\n=====================\n");
Console.WriteLine("Swapping first and last element");
SwapFirstAndLast(A);
DisplayArray(A);
//pause
Console.ReadLine();
}
static void SwapFirstAndLast(int[] array)
{
//Equal than yours
}
//method to display array
static void DisplayArray(int[] array)
{
Console.WriteLine("\n===========================\n");
Console.WriteLine(string.Join(",", array);
Console.WriteLine("\n===========================\n");
}
Console.WriteLine(string.Join(“”,array);将使您的输出类似于:
3,-12,6,9,-7,-13,19,35,-8,-11,15,27,-1
然后交换:
-1,-12,6,9,-7,-13,19,35,-8,-11,15,27,3