【发布时间】:2017-09-14 16:08:30
【问题描述】:
由于立陶宛语的一些奇怪的语法规则,我需要编写一个程序来更改输入单词的最后两个(或只是最后一个)字母。
例如,我的名字是 Kazys。 我想要一个可以将最后两个字母 (ys) 更改为另一个字母 (y) 的代码。 所以当一个人输入时
卡兹
输出将是
你好,卡兹。
如果有人输入 Balys,代码应将名称更改为 Baly 并打印出来。
我只是 C# 的初学者。所以,我什至不知道一些基本功能。 非常感谢任何帮助!
附:对于那些想知道为什么我需要这个的人,我可以告诉你,这是立陶宛语法中的一件事,如果你正在称呼某人,它需要改变词尾。
【问题讨论】:
-
我觉得很简单,你只需要知道字符串和数组很相似。我不知道如何在 c# 中使用这个事实,而且我对 c# 一点也不感兴趣。但可以肯定的是,它会像覆盖最后一个字符或更改字符串的长度一样简单。所以我的建议是,尽你所能阅读Strings in c#
-
我认为你必须硬编码所有你想要的改变。循环输入单词并找到最后两个字母。然后检查它们是否需要更改,然后进行相应的操作。然后再次检查最后一个字母是否需要任何更改。我不会说立陶宛语,所以我不确定有多少这样的规则,也不知道它们是如何运作的
-
@Ank 如果有规则,那么这不仅是不必要的,而且是一件非常糟糕的事情。特别是如果您不知道或不了解搜索字符串数组(低级)的成本,并且想不出更快的算法来做这样的事情。
-
@IharobAlAsimi 我猜会有很多规则适用于不同的条件。因此,您必须以任何方式搜索字符串以查找哪些规则适用于哪些字符串并采取相应措施。
-
我认为你的意思是你想应用一个具有潜在结束和替换的结束替换函数,重复直到你完成一个替换。要测试和应用替换,您需要查看字符串是否以结尾结尾,如果是,则返回名称长度减去替换附加的结尾长度的子字符串。提示:这些词几乎可以翻译成 C#。