我试图解决这个问题:改变的最后一个元素的字符串数组
“佩塔尔喜欢玩数字游戏,他是非常好的用绳子太有一天,他决定发明总结的新游戏。数字,他会得到一个数字,并会尝试除以5,如果这个数字可以无余数分割(例如15可以除以5而不剩余,但17除以5是3,余数2)Petar将添加这个数字的总和,但是如果这个数字不能被余数分割,只剩下余数将被加到总和上,在他完成数字后,Petar喜欢用字符串替换总和的一些数字,如果总和为奇怪的是,他会用给定的字符串替换最后一位数字和所有与它相同的数字,如果总和为偶数,他会执行相同,但是以第一位数字。例如,如果总和为2434,并且字符串为“a”,则结果为a434。 你会得到一个开始号码,一个结束号码和一个字符串。你必须检查开始号码和结束号码之间的所有号码(没有结束号码),做Petar的算法,最后用上面描述的字符串替换数字。
输入
输入数据应当从控制台读取。它由三条线组成: •第一行将保存起始号码; •第二行将保存结束编号; •第三个样式将包含替换字符串 输入数据将始终有效并采用所描述的格式。 “
我目前的代码看起来像这样,它编译,但是当我输入值我得到一个错误在第49行,我不能使用调试出于某种原因,我从VisualStudio中得到一个错误,所以可以请你看看这对我来说:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Numerics;
namespace Petar_s_Game
{
class Program
{
static void Main(string[] args)
{
ulong startNum = ulong.Parse(Console.ReadLine());
ulong endNum = ulong.Parse(Console.ReadLine());
string replacementStr = Console.ReadLine();
List<ulong> list = new List<ulong>();
ulong sum = 0;
List<string> sumStrArr = new List<string>();
for (int i = 0; startNum < endNum; startNum++)
{
if (startNum % 5 == 0)
{
list.Add(startNum);
}
else
{
list.Add(startNum % 5);
}
}
foreach (var item in list)
{
sum =+ item;
}
string sumStr = sum.ToString();
foreach (var item in sumStr)
{
sumStrArr.Add(Char.ToString(item));
}
if (IsEven(sum))
{
sumStrArr[0] = replacementStr;
}
if (IsEven(sum) == false)
{
sumStrArr[(sumStrArr.Capacity) - 1] = replacementStr;
}
}
public static bool IsEven(ulong n)
{
if (n % 2 == 0)
{
return true;
}
else
{
return false;
}
}
}
}
那么,至少你可以指出什么是您的来源中的第49行。什么是错误信息 – Steve