C# 从字符串中每隔一秒提取一个字符,并且没有正确的输出
我正在做一个编码挑战,我很难理解我的代码哪里出错了 这就是挑战: 构建加密字符串:从 字符串,然后是不是每2个字符的其他字符,以及concat 把它们当作新的字符串。这样做n次 示例输出: 我的初始迭代会产生正确的输出,但是使用相同方法的第二次迭代不会。 我错过什么了吗 编辑:忘记添加我的输出:C# 从字符串中每隔一秒提取一个字符,并且没有正确的输出,c#,.net,C#,.net,我正在做一个编码挑战,我很难理解我的代码哪里出错了 这就是挑战: 构建加密字符串:从 字符串,然后是不是每2个字符的其他字符,以及concat 把它们当作新的字符串。这样做n次 示例输出: 我的初始迭代会产生正确的输出,但是使用相同方法的第二次迭代不会。 我错过什么了吗 编辑:忘记添加我的输出: 使用系统; 命名空间测试项目 { 类主类 { 公共静态void Main(字符串[]args) { var text=“这是一个测试!”; var n=2; var everySecondLetter=
使用系统;
命名空间测试项目
{
类主类
{
公共静态void Main(字符串[]args)
{
var text=“这是一个测试!”;
var n=2;
var everySecondLetter=“”;
var-otherlets=“”;
//var newString=“”;
//var duplicateString=“”;
var迭代=1;
做
{
对于(var i=1;i我认为您需要在迭代之间清除everySecondLetter
和otherletter
,否则您只需继续添加到上一次迭代的值的末尾。如下所示:
do
{
for (var i = 1; i <= text.Length; i++)
{
if (i % 2 == 0)
{
everySecondLetter += text[i - 1];
}
else
{
otherLetters += text[i - 1];
}
}
text = everySecondLetter + otherLetters;
//*** Add these two lines:
everySecondLetter = "";
otherLetters = "";
iterate++;
Console.WriteLine(text);
} while (iterate <= n);
do
{
对于(var i=1;i我认为您需要在迭代之间清除everySecondLetter
和otherletter
,否则您只需继续添加到上一次迭代的值的末尾。如下所示:
do
{
for (var i = 1; i <= text.Length; i++)
{
if (i % 2 == 0)
{
everySecondLetter += text[i - 1];
}
else
{
otherLetters += text[i - 1];
}
}
text = everySecondLetter + otherLetters;
//*** Add these two lines:
everySecondLetter = "";
otherLetters = "";
iterate++;
Console.WriteLine(text);
} while (iterate <= n);
do
{
对于(var i=1;我不是基于示例输出。他们想要“加密”新字符串,这就是为什么text=everySecondLetter+otherLetters;
在其中的原因。我是一个冷酷的白痴。我怎么没有看到lol。谢谢。@JohnG不,目的是在第二次运行时迭代修改后的字符串,而不是基于示例输出。他们想要“加密”新字符串,这就是为什么text=everySecondLetter+otherLetters;
在其中的原因。我是个冷酷的白痴。我怎么没看到这个lol。谢谢。@JohnG不,目的是在第二次运行时迭代修改过的字符串
using System;
namespace TestProject
{
class MainClass
{
public static void Main(string[] args)
{
var text = "This is a test!";
var n = 2;
var everySecondLetter = "";
var otherLetters = "";
//var newString = "";
//var duplicateString = "";
var iterate = 1;
do
{
for (var i = 1; i <= text.Length; i++)
{
if (i % 2 == 0)
{
everySecondLetter += text[i - 1];
}
else
{
otherLetters += text[i - 1];
}
}
text = everySecondLetter + otherLetters;
iterate++;
Console.WriteLine(text);
} while (iterate <= n);
Console.ReadLine();
}
}
}
do
{
for (var i = 1; i <= text.Length; i++)
{
if (i % 2 == 0)
{
everySecondLetter += text[i - 1];
}
else
{
otherLetters += text[i - 1];
}
}
text = everySecondLetter + otherLetters;
//*** Add these two lines:
everySecondLetter = "";
otherLetters = "";
iterate++;
Console.WriteLine(text);
} while (iterate <= n);