【发布时间】:2019-03-27 07:38:30
【问题描述】:
我知道这是一个以前被问过的问题,我已经解决了很多问题,但我真的需要一些帮助。
我正在尝试为家庭作业创建一个控制台程序,该程序接受用户输入的数字,然后将该数字转换为对应的单词。目前,我可以从输入创建一个数组,然后生成一个索引。我还可以返回 char 值以及该值的索引。即如果输入为 72,那么它将返回 7 = 0 和 2 = 1。
现在我基本上必须创建一个将获取该信息的类,然后运行代码以返回单词,但问题是,我根本无法理解类。我已经阅读了所有的笔记,我已经完成了额外的阅读并观看了视频,但我根本无法理解。问我的老师让我一无所获。
class Program
{
static void Main(string[] args)
{
Console.WriteLine("This program will convert numbers that you enter into their spoken English counterpart.\nExample: 100 = One Hundred.\n\nPlease enter your desired number to convert: ");
string getinput = (Console.ReadLine());
char[] getarray = getinput.ToCharArray();
for (int getindex = 0; getindex < getarray.Length; getindex++)
{
char getchar = getarray[getindex];
Console.WriteLine("getchar: " + getchar);
//Console.WriteLine("getarray: " + getarray);
Console.WriteLine("getindex: " + getindex);
//int convertinput = Convert.ToInt32(getinput);
}
}
class ToText
{
//attributes
private string[] ones = { "zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine" }; //each value is part of the array
private string[] teens = { "eleven", "twelve", "thirteen", "fourteen", "fifteen", "sixteen", "seventeen", "eighteen", "nineteen" }; //array 0 in this set = "eleven" or tens[0] = "eleven"
private string[] tens = { "ten", "twenty", "thirty", "fourty", "fifty", "sixty", "seventy", "eighty", "ninety" };
private string[] moreThan99 = { "hundred", "thousand", "million", "billion", "trillion" };
//methods
public string ConvertToText()
{
}
//constructors
public ToText()
{
}
//destructors
~ToText()
{
}
}
}
我正在尝试了解如何将我创建的信息推送到班级然后再返回。
如果有人能帮助我理解我在做什么,那将不胜感激。
谢谢。
【问题讨论】:
-
“我根本无法理解课程”——在什么方面?
-
使用字典,所有的问题都会迎刃而解....,以数字为键,以单词为值,您只需将索引返回为单词。
-
在您的应用程序的上下文中,我认为您可能想要一个没有构造函数/析构函数的static class。然后你可以打电话给
ToText.ConvertToText(value);(假设你改变了 ConvertToText 来接受一个数字值)。 -
将输入转换为
char数组是您的想法,还是任务的一部分?您是否“允许”使用Convert.ToInt32(getinput)?你知道modulo or remainder operator吗? -- 如果您对一项任务感到不知所措,通常最好将其分解为更小的部分并尝试单独解决它们。例如:对于仅介于 0 和 9 之间的数字,您将如何解决此任务? -
字典肯定有自己的位置。但是对于这项任务,您可能不想“硬编码”每个可能的值。即使对于“仅”非负的
int值,您也必须明确写下超过 20 亿个条目(假设有足够的内存)。你可能想找到一种更聪明的方法来做到这一点。 ^_^