c# - C# 当我尝试在我的最终方法中调用变量中的值时,它们被设置为 0。它们在之前被调用时正确显示
问题描述
这是我除了计算器之外的第一个程序,试图构建一些东西来跟踪一周中的工作时间。
public class Calculation
{
public static int realWorkDay;
public static float realHours;
public static string jobDone, workDayInput, workHoursInput, workMonthInput;
public static bool inputCorrect, dayInputCorrect;
public static void GetHoursInput() //Function to gather information on the Hours worked
{
Console.WriteLine("What hours did you work on this day?");
string workHoursInput = Console.ReadLine();
bool inputCorrect = float.TryParse(workHoursInput, out float realHours);
if (inputCorrect)
{
Console.WriteLine(realHours + " Hours");
}
else
{
Console.WriteLine("That is an invalid selection.");
GetHoursInput();
}
}
public static void GetMonthInput()
{
Console.WriteLine("What Month is this for? Example. May, Oct ");
string workMonthInput = Console.ReadLine();
if(workMonthInput.Length == 3)
{
Console.WriteLine("The Month of " + workMonthInput);
}
else
{
Console.WriteLine("That is an invalid selection.");
GetMonthInput();
}
}
public static void GetDateInput()
{
Console.WriteLine("What day is this for");
string workDayInput = Console.ReadLine();
bool dayInputCorrect = Int32.TryParse(workDayInput, out int realWorkDay);
if(dayInputCorrect)
{
Console.WriteLine(realWorkDay);
}
else
{
Console.WriteLine("That is an invalid selection.");
GetDateInput();
}
}
public static void GetJobDone()
{ //THIS SHOWS UP AS "On 0 , You worked 0" IN CONSOLE
Console.WriteLine("On " + workMonthInput + " " + realWorkDay + ", You worked " + realHours + " Hours");
Console.WriteLine("What did you do on this day");
jobDone = Console.ReadLine();
}
解决方案
在这一行:
string workMonthInput = Console.ReadLine();
您正在声明一个名为 的新局部变量workMonthInput
。它恰好与您命名的字段具有相同的名称workMonthInput
,但它是一个不同的变量。
如果您打算分配给现有字段,只需删除类型声明:
workMonthInput = Console.ReadLine();
推荐阅读
- vb.net - 具有下推效果的按钮的代码?VB网
- ios - 父对话框中 KeyboardAvoidingView 的反应原生内容
- javascript - 无法在专用网络上获取 /peerjs/id
- protocol-buffers - Protobuf 组和消息
- sql - PL/SQL 抛出错误 ORA-02289: 序列不存在 (Oracle SQL)
- java - Jboss 7.2 root-logger level DEBUG 在执行 jpa 查询时引发 ConcurrentModificationException
- excel - VBA - 从另一个文件中提取值的缓慢过程
- php - 如何让 GF 自定义字段输入被识别为输入(重力形式自定义插件)
- azure-iot-edge - Edge 和 Hub 之间的流量和大小
- php - Laravel 8:如何在模型中设置输出样式