全新编程,我需要一些帮助。我们必须制作一个程序,我们要求用户输入一个以英寸为单位的数字并将其转换为码/英尺/剩余英寸,现在我把这部分放下了。
然而,作业的最后一部分告诉我们显示用户输入的第一个和最后一个数字。我不知道该如何解决这个问题。我知道我可以通过value % 10
得到最后一位数字。
但我不确定第一个价值。我的一些同事说要使用.Length()
,但他们也不确定,因为没有任何东西对他们有效。有人可以帮帮我吗?
到目前为止,这是我的代码
Console.WriteLine("Gimme a number in inches");
int userInches = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("we will now calculate these inches into yards and feet and remaining inches.");
int inchesInFeet = 12;
int inchesInYards = 36;
int yards = userInches / inchesInYards;
int remainingInches = userInches % inchesInYards;
int feet = remainingInches / inchesInFeet;
int inches = remainingInches % inchesInFeet;
//display yards, feet and inches with respective lables
Console.WriteLine(userInches + " inches is: ");
Console.WriteLine(yards + " yards");
Console.WriteLine(feet + " feet");
Console.WriteLine(inches + " inches");
Console.ReadKey();
答案 0 :(得分:2)
这里的一些人对帮助明显的家庭作业问题有点敏感。一半的任务正在搞清楚。
不试图给予太多,仍然回答:
尝试将其视为字符串。您可以访问如下字符串:
var s = "this is a string";
Console.Write(s[0]); // t
Console.Write(s[1]); // h
Console.Write(s[2]); // i
...
希望您能够从这里看到该做什么。
答案 1 :(得分:2)
这是一个家庭作业问题,你展示了你工作的一部分,我很欣赏,尽管有些社区可能认为这不是一个好问题。
正如您所注意到的,任何number
的最后一位数始终为number % 10
。这是一个好的开始。
让我们继续以你已经理解的方式继续:int
方式(即使我更喜欢并推荐@Adam Schiavone在另一个答案中给出的string
方式)
您应该知道:当您执行整数除法时,结果将被截断。这意味着:
如果number / 10
为number
, int
将删除最后一位数字。因此,如果数字长度为2位,您将得到第一个数字!
int a = 45 / 10; // value of 'a' is 4 !
int b = 234 / 10; // value of 'b' is 23, not very interesting for you
如果number / 100
是number
,则 int
将获得最后两位数字。因此,如果数字长度为3位,您将得到第一个数字!
int c = 45 / 100; // value of 'c' is 0, not very interesting for you
int d = 234 / 100; // value of 'd' is 2 !
int e = 7893 / 100; // value of 'e' is 78, not very interesting for you
如果您注意到10
与电源1的10相似,则100
与电源2的10相似,并且您注意到数字长度与功率10之间的模式链接以划分数字使用,您可以理解通用算法用于获取您的号码的第一个数字。