如何根据用户输入进行计算
本文关键字:计算 输入 用户 何根 | 更新日期: 2023-09-27 18:09:51
这是我的代码块,我不知道如何让周长和体积执行计算。例如,当我输入1,1,1,1为前4个参数,我得到0,0为体积和周长。
if (packages == 1)
{
int width = 0, length = 0, height = 0, weight = 0;
int volume = 0, girth = 0;
int[] packageInfo = new int[6] { width, length, height, weight ,volume, girth };
packageInfo[4] = height * width * length;
packageInfo[5] = (2 * length + 2 * width);
double packageSum = 0;
for (int k = 0; k < 4; k++)
{
string line = Console.ReadLine();
if (!int.TryParse(line, out packageInfo[k]))
{
Console.WriteLine("Couldn't parse {0} - please enter integers", line);
k--;
}
}
if(packageInfo[3] > 25)
{
packageSum = 0;
Console.WriteLine("Package couldn't be shipped because of its size.");
}
if (volume > 4800)
{
packageSum = packageSum + 5.95;
}
if (volume > 9600)
{
packageSum = 0;
Console.WriteLine("Package couldn't be shipped because of its size.");
}
foreach (var item in packageInfo)
Console.WriteLine(item.ToString());
}
c#中的变量不像数学中的变量。据我所知,当packageInfo[0], packageInfo[1], packageInfo[2]
被修改时,您希望packageInfo[4]
被更新。因为,在数学中,如果你将体积定义为高*宽*长并且你修改了这些变量中的任何一个,那么体积就会改变。不幸的是,c#中的"标准变量"只是一串比特。你读/写它。我不是很精确(我不是那么精通语言),但是没有变量是根据其他变量定义的概念(它们只能用一些值初始化,这些值可能是其他变量的值)。要创建这样的关系,需要语言结构来表示它们。
所以你的代码现在做的是:
- 初始化高度,长度,宽度等
- 复制这些值到数组
- 从
Console
读取输入时,packageInfo[0], packageInfo[1], packageInfo[2], packageInfo[3]
被修改。 - 数组中的所有值都不相互关联/依赖。如果你修改了
packageInfo[0]
,它不会修改packageInfo[]
中的其他
int
。你可以模仿的行为更类似于数学,如:
private int _height;
private int _width;
private int _length;
private int Volume =
{
get { return _height * _width * _length };
}
您应该在获得用户输入后计算它们。按以下方式重新排列代码:
for (int k = 0; k < 4; k++)
{
string line = Console.ReadLine();
if (!int.TryParse(line, out packageInfo[k]))
{
Console.WriteLine("Couldn't parse {0} - please enter integers", line);
k--;
}
}
packageInfo[4] = packageInfo[0] * packageInfo[1] * packageInfo[2];
packageInfo[5] = (2 * packageInfo[0] + 2 * packageInfo[1]);
仔细检查你的代码。
首先,这样做:
int width = 0, length = 0, height = 0, weight = 0;
int volume = 0, girth = 0;
int[] packageInfo = new int[6] { width, length, height, weight ,volume, girth };
packageInfo[4] = height * width * length;
packageInfo[5] = (2 * length + 2 * width);
double packageSum = 0;
0 * 0 * 0 = 0.
2 * 0 + 2 * 0 = 0
然后,在之后,您已经计算了体积和周长,您实际上向用户查询输入:
for (int k = 0; k < 4; k++)
{
string line = Console.ReadLine();
if (!int.TryParse(line, out packageInfo[k]))
{
Console.WriteLine("Couldn't parse {0} - please enter integers", line);
k--;
}
}