C# 中的乘法
Multiplication in C#
我是 C# 新手,使用 Switch 尝试了以下乘法程序。该程序完美地通过了 Switch 案例,但相乘结果未显示在控制台中。你能帮忙吗:
using System;
public class Program
{
public static void Main(string[] args)
{
int _pLicense = 50;
int _sLicense = 100;
int _eLicense = 150;
String lType;
int nSeats;
Console.WriteLine("\n1.Personal License\n2.Startup License\n3.Enterprise License");
Console.WriteLine("Enter the license type");
lType = Console.ReadLine();
//lType = char.Parse(Console.ReadLine());
switch(lType)
{
case "1":
Console.WriteLine("Enter the number of seats");
nSeats = int.Parse(Console.ReadLine());
//Console.WriteLine(_pLicense);
int Cost = _pLicense*nSeats;
Console.WriteLine("Personal License Cost : $", +Cost);
break;
case "2":
Console.WriteLine("Enter the number of seats");
nSeats = int.Parse(Console.ReadLine());
//Console.WriteLine(_sLicense);
Cost = (_sLicense * nSeats);
Console.WriteLine("Startup License Cost : $", Cost);
break;
case "3":
Console.WriteLine("Enter the number of seats");
nSeats = int.Parse(Console.ReadLine());
//Console.WriteLine(_pLicense);
Cost = (_eLicense * nSeats);
Console.WriteLine("Enterprise License Cost : $", Cost);
break;
default:
Console.WriteLine("Invalid Type");
break;
}
}
}
将您的 Console.Writeline
更改为
Console.WriteLine($"Personal License Cost : ${Cost}");
和
Console.WriteLine($"Enterprise License Cost : ${Cost}");
您还可以使用 {Cost:d}
设置成本格式,请参阅 https://docs.microsoft.com/en-us/dotnet/standard/base-types/composite-formatting。
最好不要使用int.Parse,因为输入字符会报错。所以将代码更改为
if(int.TryParse(Console.ReadLine(), out int nSeats)
{
Console.WriteLine($"Enterprise License Cost : ${Cost}");
}
else
{
//Try again
}
您不必在顶部声明 nSeats,它会处理错误。
这就是我编写代码的方式
public static void Main(string[] args)
{
int nSeats = 0;
Console.WriteLine("\n1.Personal License\n2.Startup License\n3.Enterprise License");
Console.WriteLine("Enter the license type");
var lType = Console.ReadLine(); //ReadLine returns a string, so it will automatically make lType a string
int _LicenseCost = lType == "1" ? 50 : lType == "2" ? 100 : lType == "3" ? 150 : 0;
if(_LicenseCost > 0)
{
while(true)
{
Console.WriteLine("Enter the number of seats");
if(int.TryParse(Console.ReadLine(), out nSeats))
break;
else
Console.WriteLine("Please enter a valid number");
}
Console.WriteLine((lType == "1" ? "Personal" : lType == "2" ? "Startup" : lType == "3" ? "Enterprise" : "") + $" License Cost : ${_LicenseCost * nSeats}");
}
else
Console.WriteLine("License type is not valid. Good bye!");
}
您缺少像 {0}
这样的格式化程序
Console.WriteLine("Enterprise License Cost : [=10=]", Cost);
您缺少显示实际结果的代码。你可以试试这个:
Console.WriteLine("Personal licence : " + cost);
等等
为清楚起见,只需使用以下内容:
var cost = (_sLicense * nSeats);
Console.WriteLine("Startup License Cost : " + cost);
首先,在 switch 语句之外声明您的 Cost 变量。您可以将其与其他变量一起声明。
其次,在switch语句的每个case中赋值并显示Cost变量。
using System;
public class Program
{
public static void Main(string[] args)
{
int _pLicense = 50;
int _sLicense = 100;
int _eLicense = 150;
String lType;
int nSeats;
int Cost;
Console.WriteLine("\n1.Personal License\n2.Startup License\n3.Enterprise License");
Console.WriteLine("Enter the license type");
lType = Console.ReadLine();
//lType = char.Parse(Console.ReadLine());
switch(lType)
{
case "1":
Console.WriteLine("Enter the number of seats");
nSeats = int.Parse(Console.ReadLine());
//Console.WriteLine(_pLicense);
Cost = _pLicense*nSeats;
Console.WriteLine("Personal License Cost : $" + Cost);
break;
case "2":
Console.WriteLine("Enter the number of seats");
nSeats = int.Parse(Console.ReadLine());
//Console.WriteLine(_sLicense);
Cost = (_sLicense * nSeats);
Console.WriteLine("Startup License Cost : $" + Cost);
break;
case "3":
Console.WriteLine("Enter the number of seats");
nSeats = int.Parse(Console.ReadLine());
//Console.WriteLine(_pLicense);
Cost = (_eLicense * nSeats);
Console.WriteLine("Enterprise License Cost : $" + Cost);
break;
default:
Console.WriteLine("Invalid Type");
break;
}
}
字符串格式示例:
string name = "Fred";
String.Format("Name = {0}, hours = {1:hh}", name, DateTime.Now);
我是 C# 新手,使用 Switch 尝试了以下乘法程序。该程序完美地通过了 Switch 案例,但相乘结果未显示在控制台中。你能帮忙吗:
using System;
public class Program
{
public static void Main(string[] args)
{
int _pLicense = 50;
int _sLicense = 100;
int _eLicense = 150;
String lType;
int nSeats;
Console.WriteLine("\n1.Personal License\n2.Startup License\n3.Enterprise License");
Console.WriteLine("Enter the license type");
lType = Console.ReadLine();
//lType = char.Parse(Console.ReadLine());
switch(lType)
{
case "1":
Console.WriteLine("Enter the number of seats");
nSeats = int.Parse(Console.ReadLine());
//Console.WriteLine(_pLicense);
int Cost = _pLicense*nSeats;
Console.WriteLine("Personal License Cost : $", +Cost);
break;
case "2":
Console.WriteLine("Enter the number of seats");
nSeats = int.Parse(Console.ReadLine());
//Console.WriteLine(_sLicense);
Cost = (_sLicense * nSeats);
Console.WriteLine("Startup License Cost : $", Cost);
break;
case "3":
Console.WriteLine("Enter the number of seats");
nSeats = int.Parse(Console.ReadLine());
//Console.WriteLine(_pLicense);
Cost = (_eLicense * nSeats);
Console.WriteLine("Enterprise License Cost : $", Cost);
break;
default:
Console.WriteLine("Invalid Type");
break;
}
}
}
将您的 Console.Writeline
更改为
Console.WriteLine($"Personal License Cost : ${Cost}");
和
Console.WriteLine($"Enterprise License Cost : ${Cost}");
您还可以使用 {Cost:d}
设置成本格式,请参阅 https://docs.microsoft.com/en-us/dotnet/standard/base-types/composite-formatting。
最好不要使用int.Parse,因为输入字符会报错。所以将代码更改为
if(int.TryParse(Console.ReadLine(), out int nSeats)
{
Console.WriteLine($"Enterprise License Cost : ${Cost}");
}
else
{
//Try again
}
您不必在顶部声明 nSeats,它会处理错误。
这就是我编写代码的方式
public static void Main(string[] args)
{
int nSeats = 0;
Console.WriteLine("\n1.Personal License\n2.Startup License\n3.Enterprise License");
Console.WriteLine("Enter the license type");
var lType = Console.ReadLine(); //ReadLine returns a string, so it will automatically make lType a string
int _LicenseCost = lType == "1" ? 50 : lType == "2" ? 100 : lType == "3" ? 150 : 0;
if(_LicenseCost > 0)
{
while(true)
{
Console.WriteLine("Enter the number of seats");
if(int.TryParse(Console.ReadLine(), out nSeats))
break;
else
Console.WriteLine("Please enter a valid number");
}
Console.WriteLine((lType == "1" ? "Personal" : lType == "2" ? "Startup" : lType == "3" ? "Enterprise" : "") + $" License Cost : ${_LicenseCost * nSeats}");
}
else
Console.WriteLine("License type is not valid. Good bye!");
}
您缺少像 {0}
这样的格式化程序 Console.WriteLine("Enterprise License Cost : [=10=]", Cost);
您缺少显示实际结果的代码。你可以试试这个:
Console.WriteLine("Personal licence : " + cost);
等等
为清楚起见,只需使用以下内容:
var cost = (_sLicense * nSeats);
Console.WriteLine("Startup License Cost : " + cost);
首先,在 switch 语句之外声明您的 Cost 变量。您可以将其与其他变量一起声明。 其次,在switch语句的每个case中赋值并显示Cost变量。
using System;
public class Program
{
public static void Main(string[] args)
{
int _pLicense = 50;
int _sLicense = 100;
int _eLicense = 150;
String lType;
int nSeats;
int Cost;
Console.WriteLine("\n1.Personal License\n2.Startup License\n3.Enterprise License");
Console.WriteLine("Enter the license type");
lType = Console.ReadLine();
//lType = char.Parse(Console.ReadLine());
switch(lType)
{
case "1":
Console.WriteLine("Enter the number of seats");
nSeats = int.Parse(Console.ReadLine());
//Console.WriteLine(_pLicense);
Cost = _pLicense*nSeats;
Console.WriteLine("Personal License Cost : $" + Cost);
break;
case "2":
Console.WriteLine("Enter the number of seats");
nSeats = int.Parse(Console.ReadLine());
//Console.WriteLine(_sLicense);
Cost = (_sLicense * nSeats);
Console.WriteLine("Startup License Cost : $" + Cost);
break;
case "3":
Console.WriteLine("Enter the number of seats");
nSeats = int.Parse(Console.ReadLine());
//Console.WriteLine(_pLicense);
Cost = (_eLicense * nSeats);
Console.WriteLine("Enterprise License Cost : $" + Cost);
break;
default:
Console.WriteLine("Invalid Type");
break;
}
}
字符串格式示例:
string name = "Fred";
String.Format("Name = {0}, hours = {1:hh}", name, DateTime.Now);