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