【发布时间】:2019-06-20 14:30:35
【问题描述】:
我正在处理一个问题,希望我从用户那里获得一个字符串输入,通过一个方法运行它,该方法将检查每个字符以查看它是否遵循美国货币的模式。它必须是进入方法的字符串。金额可以是从 1 美元到 1000 美元的任何金额,但必须输入格式为 $x.xx、$xx.xx、$xxx.xx,只要用户输入的金额与上述格式一致,则我的程序应该输出它的“有效”其他任何东西都是“无效格式”输出。第一个字符必须是“$”,我不能使用正则表达式。
我获取用户输入,然后使用 .NullOrWhiteSpace 对其进行验证。然后将保存用户输入的字符串值发送到我创建的方法。从这一点开始,我不知道如何继续。我试过 .ToCharArray,我也试过做一个长而复杂的 if 语句,我已经研究了几个小时,但找不到一个可靠的方法来写出来。
class Program
{
static void Main(string[] args)
{
Console.WriteLine("enter amount between $1.00 and $1000.00");
string valueUS = Console.ReadLine();
while (string.IsNullOrWhiteSpace(valueUS))
{
Console.WriteLine("Please enter in an amount");
valueUS = Console.ReadLine();
}
currencyChecker(valueUS);
}
public static string currencyChecker(string currencyString)
{
char[] currencyArray;
currencyArray = currencyString.ToCharArray();
for (int i = 0; i < currencyArray.Length; i++)
{
if (currencyArray[0] == '$')
{
}
}
return currencyString;
下面的方法应该检查用户输入的每个字符,并验证它是否与上面描述的美国货币模式相匹配,并输出它的“有效”其他任何东西都应该报告为“无效”
【问题讨论】:
-
The answers to this question 展示了一个很好的解决方案,可以很好地完成工作(当然假设这不是家庭作业,在这种情况下,你几乎肯定会因为使用正则表达式作弊而失败)。
-
是的,不幸的是我不能使用正则表达式,如果我什至应该使用 .ToCharArray 我想我可能过于复杂了。
标签: c#