zw2003567 2021-11-12 12:55 采纳率: 100%
浏览 47
已结题

问一下最后pay为啥显示未赋值

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace _3
{
class Program
{
static void Main(string[] args)
{
double money;
double pay;
Console.Write("请输入消费金额:");
money = Convert.ToDouble(Console.ReadLine());
if (money < 1000)
pay = money;
else if (1000 < money && money <= 2000)
{
Console.WriteLine("是否有会员?(y/n)");
Convert.ToChar(Console.ReadLine());

            if (Convert.ToChar(Console.ReadLine()) == 'y')
                pay = 0.9 * 0.95 * money;
            else if ((Convert.ToChar(Console.ReadLine()) == 'n'))
                pay = 0.9 * money;
            else
                Console.WriteLine("输入有误,请重新输入");
        }
        else
        {
            Console.WriteLine("是否有会员?(y/n)");
            Convert.ToChar(Console.ReadLine());

            if (Convert.ToChar(Console.ReadLine()) == 'y')
                pay = 0.85 * 0.85 * money;
            else if ((Convert.ToChar(Console.ReadLine()) == 'n'))
                pay = 0.85 * money;
            else
                Console.WriteLine("输入有误,请重新输入");
        }
        Console.WriteLine("消费金额为{0}实际需要支付{1}元", money,pay);
        Console.ReadKey();
    }
}

}

  • 写回答

4条回答 默认 最新

  • CSDN专家-sinJack 2021-11-12 13:13
    关注

    double pay;
    改为

    double pay=0.0;
    

    给pay赋予初始0,否则编译的时候,系统认为pay可能未被赋值(都走else分支的情况下)

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 11月20日
  • 已采纳回答 11月12日
  • 创建了问题 11月12日

悬赏问题

  • ¥15 下图接收小电路,谁知道原理
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度
  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测
  • ¥15 ETLCloud 处理json多层级问题
  • ¥15 matlab中使用gurobi时报错
  • ¥15 这个主板怎么能扩出一两个sata口
  • ¥15 不是,这到底错哪儿了😭
  • ¥15 2020长安杯与连接网探