如何获取用户在C#中输入的第一个和最后一个数字

时间:2017-09-10 01:31:57

标签: c#

全新编程,我需要一些帮助。我们必须制作一个程序,我们要求用户输入一个以英寸为单位的数字并将其转换为码/英尺/剩余英寸,现在我把这部分放下了。

然而,作业的最后一部分告诉我们显示用户输入的第一个和最后一个数字。我不知道该如何解决这个问题。我知道我可以通过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();

2 个答案:

答案 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 / 10number

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 / 100number,则

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之间的模式链接以划分数字使用,您可以理解通用算法用于获取您的号码的第一个数字。