C# 编写的京东商城支付成功功能模拟程序
以下是一个使用 C# 编写的京东商城支付成功功能模拟程序。这个程序会提示用户输入支付金额,然后计算优惠金额,随机生成支付方式、交易时间和订单编号,并最终显示完整的支付成功信息。
using System;
using System.Collections.Generic;
using System.Linq;
// 命名空间:京东商城支付模拟程序
namespace JD商城支付模拟
{
class Program
{
// 程序入口点
static void Main(string[] args)
{
// 显示支付页面标题
Console.WriteLine("===== 京东商城支付 =====");
// 声明支付金额变量
decimal amount = 0;
// 使用循环确保用户输入有效的支付金额
while (true)
{
// 提示用户输入支付金额
Console.Write("请输入支付金额: ¥");
// 尝试解析用户输入,如果解析成功且金额大于0,则退出循环
if (decimal.TryParse(Console.ReadLine(), out amount) && amount > 0)
{
break;
}
// 如果输入无效,提示用户重新输入
Console.WriteLine("输入有误,请重新输入有效的金额!");
}
// 调用方法计算优惠金额
decimal discount = CalculateDiscount(amount);
// 调用方法获取随机支付方式
string paymentMethod = GetRandomPaymentMethod();
// 获取当前系统时间作为交易时间
DateTime transactionTime = DateTime.Now;
// 调用方法生成唯一订单编号
string orderNumber = GenerateOrderNumber();
// 显示支付成功信息标题
Console.WriteLine("\n===== 支付成功 =====");
Console.WriteLine($"京东商城");
Console.WriteLine($"订单编号: {orderNumber}");
Console.WriteLine($"交易时间: {transactionTime:yyyy-MM-dd HH:mm:ss}"); // 格式化时间显示
Console.WriteLine($"支付方式: {paymentMethod}");
Console.WriteLine($"原始金额: ¥{amount:F2}"); // 使用F2格式化显示两位小数
Console.WriteLine($"优惠金额: ¥{discount:F2}");
Console.WriteLine($"实付金额: ¥{amount - discount:F2}");
Console.WriteLine("\n感谢您的购买,祝您购物愉快!");
}
/// <summary>
/// 计算优惠金额
/// </summary>
/// <param name="amount">原始支付金额</param>
/// <returns>计算后的优惠金额</returns>
static decimal CalculateDiscount(decimal amount)
{
// 简单的优惠规则:
// 1. 满200元减30元
// 2. 满100元减10元
// 3. 不满100元随机立减1-5元
if (amount >= 200)
{
return 30;
}
else if (amount >= 100)
{
return 10;
}
else
{
// 使用Guid生成随机数种子,避免多次调用时随机数相同
Random random = new Random(Guid.NewGuid().GetHashCode());
return (decimal)random.Next(1, 6); // 生成1-5之间的随机整数
}
}
/// <summary>
/// 从预设列表中随机选择一种支付方式
/// </summary>
/// <returns>随机选择的支付方式</returns>
static string GetRandomPaymentMethod()
{
// 预设的支付方式列表
List<string> paymentMethods = new List<string>
{
"京东白条", "微信支付", "支付宝", "银行卡支付", "京东支付"
};
// 生成随机数,用于从列表中随机选择
Random random = new Random(Guid.NewGuid().GetHashCode());
return paymentMethods[random.Next(paymentMethods.Count)];
}
/// <summary>
/// 生成符合规则的订单编号
/// </summary>
/// <returns>生成的订单编号</returns>
static string GenerateOrderNumber()
{
// 订单编号规则:JD + 年月日(8位) + 6位随机数
// 例如:JD20231005123456
// 获取当前日期的年月日部分
string datePart = DateTime.Now.ToString("yyyyMMdd");
// 生成6位随机数
Random random = new Random(Guid.NewGuid().GetHashCode());
string randomPart = random.Next(100000, 999999).ToString(); // 生成100000-999999之间的随机数
// 组合生成最终订单编号
return $"JD{datePart}{randomPart}";
}
}
}
输出
===== 京东商城支付 =====
请输入支付金额: ¥50
===== 支付成功 =====
京东商城
订单编号: JD20250822646504
交易时间: 2025-08-22 22:26:14
支付方式: 支付宝
原始金额: ¥50.00
优惠金额: ¥5.00
实付金额: ¥45.00
感谢您的购买,祝您购物愉快!
文章目录
文章作者:hujiato
文章标题:C# 编写的京东商城支付成功功能模拟程序
文章链接:https://www.xbaoku.top/?post=23
本站所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议,转载请注明来自hujiato !
文章标题:C# 编写的京东商城支付成功功能模拟程序
文章链接:https://www.xbaoku.top/?post=23
本站所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议,转载请注明来自hujiato !
设备上扫码阅读