C# 使用C类将数字转换为单词#

C# 使用C类将数字转换为单词#,c#,arrays,class,C#,Arrays,Class,我知道这是一个以前被问过的问题,我经历了很多,但我真的需要一些帮助 我正在尝试为家庭作业创建一个控制台程序,它接收用户输入的数字,然后将该数字转换为对应的单词。目前,我可以从输入创建一个数组,然后生成一个索引。我还可以返回char值以及该值的索引。即如果输入为72,则返回7=0和2=1 现在我基本上要创建一个类来获取这些信息,然后运行代码返回单词,但问题是,我根本无法理解类。我读了所有的笔记,我做了额外的阅读和观看视频,但我根本无法理解。问我的老师根本帮不了我 class Program

我知道这是一个以前被问过的问题,我经历了很多,但我真的需要一些帮助

我正在尝试为家庭作业创建一个控制台程序,它接收用户输入的数字,然后将该数字转换为对应的单词。目前,我可以从输入创建一个数组,然后生成一个索引。我还可以返回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()
        {

        }
    }
}
类程序
{
静态void Main(字符串[]参数)
{
Console.WriteLine(“此程序将把您输入的数字转换为英语口语对应数字。\n例如:100=100。\n\n请输入您想要转换的数字:”;
字符串getinput=(Console.ReadLine());
char[]getarray=getinput.ToCharArray();
for(int-getindex=0;getindex
我试图理解我需要做什么来将我创建的信息推送到类中,然后再推回到类中

如果有人能帮我理解我在做什么,我将不胜感激

谢谢


我根本搞不懂上课的意思

通过阅读你的例子,我推断问题是

“我已经声明了一个类和一些方法。如何调用它?”

令人惊讶的是,没有其他答案,所以(我可以找到),所以我想有人必须回答

一旦你声明了你的类(你仍然需要在它的方法中加入一些逻辑,但我想你知道这一点),你需要弄清楚如何调用它。由于您的程序非常小,您可能需要从
Main
方法调用它

这个类只是一种类型。与任何类型一样,为了对其进行任何有趣的操作,您必须创建一个实例并将其分配给一个变量。在本例中,我将变量命名为
instance
,但您应该使用描述性名称

var instance = new ToText();
一旦拥有了实例,就可以调用它的方法

var output = instance.ConvertToText(input);
在上下文中,它看起来是这样的:

static public void Main(string[] args)
{
    //Your other code might go here
    var instance = new ToText();
    var output = instance.ConvertToText(input);
    //and here
}
这就是创建类实例(也称为对象)并调用其方法的方式

var output = instance.ConvertToText(input);
注意:代码中还有很多其他问题,但我只是想回答这一个问题。您应该知道,有一些方法可以在不实例化实例(称为“静态”)的情况下使用类,但这似乎不是任务的重点


我根本搞不懂上课的意思

通过阅读你的例子,我推断问题是

“我已经声明了一个类和一些方法。如何调用它?”

令人惊讶的是,没有其他答案,所以(我可以找到),所以我想有人必须回答

一旦你声明了你的类(你仍然需要在它的方法中加入一些逻辑,但我想你知道这一点),你需要弄清楚如何调用它。由于您的程序非常小,您可能需要从
Main
方法调用它

这个类只是一种类型。与任何类型一样,为了对其进行任何有趣的操作,您必须创建一个实例并将其分配给一个变量。在本例中,我将变量命名为
instance
,但您应该使用描述性名称

var instance = new ToText();
一旦拥有了实例,就可以调用它的方法

var output = instance.ConvertToText(input);
在上下文中,它看起来是这样的:

static public void Main(string[] args)
{
    //Your other code might go here
    var instance = new ToText();
    var output = instance.ConvertToText(input);
    //and here
}
这就是创建类实例(也称为对象)并调用其方法的方式

var output = instance.ConvertToText(input);

注意:代码中还有很多其他问题,但我只是想回答这一个问题。您应该知道,有一些方法可以在不实例化实例(称为“静态”)的情况下使用类,但这似乎不是您任务的重点。

您可以通过两种方式调用类/方法

首先,可以将convertotext方法创建为静态方法

public static string ConvertToText(string NumberToConvert)
{
  char[] getarray = NumberToConvert.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);
    }
    return ""; // return the Converted value

}
或者您可以只创建一个实例方法

public string ConvertToText(string NumberToConvert)
{
 char[] getarray = NumberToConvert.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);
 }
 return ""; // return the Converted value
}

您可以通过两种方式调用类/方法

首先,可以将convertotext方法创建为静态方法

public static string ConvertToText(string NumberToConvert)
{
  char[] getarray = NumberToConvert.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);
    }
    return ""; // return the Converted value

}
或者您可以只创建一个实例方法

public string ConvertToText(string NumberToConvert)
{
 char[] getarray = NumberToConvert.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);
 }
 return ""; // return the Converted value
}

这是我的尝试。我可以让它做1-19。它通过一个方法将值从主类传递到另一个类。你能在完成后发布完整的解决方案吗?因为我现在也在尝试解决这个问题

class Program
{
    static void Main(string[] args)
    {

        //Ask the user to input a number
        Console.WriteLine("Please enter a number and this will convert it into the the word version of the number:");


        //Inputs from console are in a string format as readline returns string
        string UserInput = Console.ReadLine();

        //Make an instance of the ConvertNumber class where the method numberConversion lives. I've called the instance numberConversion.
        ConvertNumber numberConversion = new ConvertNumber();

        //Here I'm saying numberConversion use your method NumberTooText and I'm sending the UserInput from this class along with it.
        numberConversion.NumberTooText(UserInput);

        }
    }


    class ConvertNumber
        {
            //I combined your first two arrays for one to nineteen
            private string[] oneToNineteen = { "zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine", "ten", "eleven", "twelve", "thirteen", "fourteen", "fifteen", "sixteen", "seventeen", "eighteen", "nineteen" }; //each value is part of the array

            //Method for number to text
            public void NumberTooText(string userinput) {

             //As I wanted to iterate and use the number for the array index we need to convert the string we got from program cs to int
                int number = Int32.Parse(userinput);

            //If the number is 19 or less the console will write from the array[userInputNumber]
// In the else statement you can create a method for greater than 19
                if (number <= 19) {
                    Console.WriteLine(oneToNineteen[number]);
                    }
                }

            }
类程序
{
静态void Main(字符串[]参数)
{
//请用户输入一个数字
Console.WriteLine(“请输入一个数字,这将把它转换成w