這是我做的運動:分割字符串,然後解析到整數
寫一個程序作爲輸入格式ABCD(如2011)一個四位數字,並執行以下操作:
•計算數字的總和(在我們的示例中爲2 + 0 + 1 + 1 = 4)。
•在控制檯上打印相反順序的編號:dcba(在我們的示例1102中)。
•將最後一位放在第一個位置:dabc(在我們的示例1201中)。
•交換第二個和第三個數字:acbd(在我們的示例2101中)。
這裏是我的代碼:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication6
{
class Program
{
static void Main(string[] args)
{
string FourDigitNum = Console.ReadLine();
string[] digits = FourDigitNum.Split();
int firstDigit = int.Parse(digits[0]);
int secondDigit = int.Parse(digits[1]);
int thirdDigit = int.Parse(digits[2]);
int fourthDigit = int.Parse(digits[3]);
int sum = firstDigit + secondDigit + thirdDigit + fourthDigit;
string reversed = digits[3] + digits[2] + digits[1] + digits[0];
string lastCharFirst = digits[3] + digits[0] + digits[1] + digits[0];
string exchanged = digits[0] + digits[2] + digits[1] + digits[3];
Console.WriteLine("The Sum is: {0}", sum);
Console.WriteLine("The Reversed number is: {0}", reversed);
Console.WriteLine("The Last Digit is First: {0}", lastCharFirst);
Console.WriteLine("The Second and Third Digit Exchanged: {0}", exchanged);
}
}
}
我得到的錯誤,當我用1100作爲輸入:
未處理的異常:System.IndexOutOfRangeException:索引 的奔DS外陣列。在 ConsoleApplication6.Program.Main在 C(字串[] args):\用戶\用戶1 \文件S \的Visual Studio 2013 \項目\ ConsoleApplication6 \的Program.cs:行16
編輯:謝謝這麼多,我誤解了Split();工作。這是我最後的工作代碼:
namespace ConsoleApplication6
{
class Program
{
static void Main(string[] args)
{
string digits = Console.ReadLine();
int firstDigit = (int)Char.GetNumericValue(digits[0]);
int secondDigit = (int)Char.GetNumericValue(digits[1]);
int thirdDigit = (int)Char.GetNumericValue(digits[2]);
int fourthDigit = (int)Char.GetNumericValue(digits[3]);
int sum = firstDigit + secondDigit + thirdDigit + fourthDigit;
Console.WriteLine("The Sum is: {0}", sum);
Console.WriteLine("The Reversed number is: {3}{2}{1}{0}", firstDigit, secondDigit, thirdDigit, fourthDigit);
Console.WriteLine("The Last Digit is First: {3}{0}{1}{2}", firstDigit, secondDigit, thirdDigit, fourthDigit);
Console.WriteLine("The Second and Third Digit Exchanged: {0}{2}{1}{3}", firstDigit, secondDigit, thirdDigit, fourthDigit);
}
}
}
那麼你做了什麼調試?提示:在'int firstDigit = ...'處放置一個斷點並查看'digits' ... –
Your FourDigitNum.Split()沒有做你認爲它會做的事 – Shar1er80
我使用的測試輸入是1100 –