将每个char转换为莫尔斯字符串?

Himlastar.

成员
加入
2019年3月16日
消息
10
编程经验
Beginner
用户输入福彩12选5走势图单词,它将它转换为morzes代码!?
如何将每个char转换为字符串?
就像我写的一样 - " Programm "
它会说" .--. .-. " and so on?
谁能帮我?
 

跳伞运动员

工作人员
加入
2019年4月6日
消息
2,893
地点
切萨皮克,va.
编程经验
10+
是的,如果您向我们展示您目前获得的内容,我们可以帮助您,并告诉我们您遇到了哪些问题。我们不是代码编写服务。我们不提供那种帮助。
 

jmplhinney.

C#论坛主持人
工作人员
加入
2011年4月23日
消息
3,720
地点
悉尼,澳大利亚
编程经验
10+
作为指导,我可能会从福彩12选5走势图开始 字典<char, string> 向摩尔斯码的字母提供映射。然后你可以循环通过福彩12选5走势图 细绳 直接,因为它是福彩12选5走势图 Ienumerable.<char>或者打电话 Tochararray. 在上面。如果您将该信息放入使用后,如果遇到任何实际问题,您可以向我们展示您的代码。如果您还没有写入任何代码,则您还没有遇到任何问题。
 

Himlastar.

成员
加入
2019年3月16日
消息
10
编程经验
Beginner
作为指导,我可能会从福彩12选5走势图开始 字典<char, string> 向摩尔斯码的字母提供映射。然后你可以循环通过福彩12选5走势图 细绳 直接,因为它是福彩12选5走势图 Ienumerable.<char>或者打电话 Tochararray. 在上面。如果您将该信息放入使用后,如果遇到任何实际问题,您可以向我们展示您的代码。如果您还没有写入任何代码,则您还没有遇到任何问题。

我想出了这个代码,但我只能输入福彩12选5走势图字符,它只显示福彩12选5走势图字符,我需要福彩12选5走势图完整的单词,如 - "HELLO"
我怎么能这样做!?

C#:
    Dictionary<char, string> Morze = new Dictionary<char, string>()
             {
                {'A',".- "},
                {'B', "-... "},
                {'C',"-.-. "},
                {'D'," -.. "},
                {'E',"."},
                {'F',"..-. "},
                {'G',"--. "},
                {'H',"...."},
                {'I',".."},
                {'J',".---"},
                {'K',"-.-"},
                {'L',".-.."},
                {'M',"--"},
                {'N',"-."},
                {'O',"---"},
                {'P',".--."},
                {'Q',"--.-"},
                {'R',".-."},
                {'S',"..."},
                {'T',"-"},
                {'U',"..-"},
                {'V',"...-"},
                {'W',".--"},
                {'X',"-..-"},
                {'Y',"-.--"},
                {'Z',"--.."},
                {'1',".----"},
                {'2',"..--- "},
                {'3',"...-- " },
                {'4',"....- " },
                {'5',"..... " },
                {'6',"-.... " },
                {'7',"--... " },
                {'8',"---.. " },
                {'9',"----. " },
                {'0',"----- " },
                {'/',"-..-. "},
                {'+',".-.-. " },
                {'=',"-...-" },
                {'.',".-.-.-" },
                {',',"--..--" },
                {'?',"..--.." },
                {'(',"-.--." },
                {')',"-.--.-" },
                {'-',"-....-" },
                {'"',".-..-." },
                {'_',"..--.-" },
                {':',"---..." },
                {';',"-.-.-." },
                {'$',"...-..-"}
             };
       
            Console.Write("Input a name: ");
            string name = Console.ReadLine();
            Console.WriteLine(Morze[Convert.ToChar(name)]);
 

Himlastar.

成员
加入
2019年3月16日
消息
10
编程经验
Beginner
看起来你读了 字典 部分,实施,然后忽略其余部分。再次返回并阅读我的上一篇文章,这次使用其余信息。
我不明白如何 Ienumerable.<char>或者打电话 Tochararray. works is this right?

 

juggalobrotha

工作人员
加入
2011年4月23日
消息
177
地点
兰辛,MI;美国
编程经验
10+

jmplhinney.

C#论坛主持人
工作人员
加入
2011年4月23日
消息
3,720
地点
悉尼,澳大利亚
编程经验
10+
我特别说你可以循环 细绳 本身或你可以打电话 Tochararray.。你不知道阵列如何工作吗?循环的点是重复执行操作。你有多个 char 在那里面 细绳 或者从中创建的数组,以便听起来像福彩12选5走势图完美的匹配。

在真空中不存在编程。代码只是算法的实现。您应该已经知道在尝试编写代码之前的算法是什么。如果你必须使用笔和纸,你会怎么做?这就是你在代码中的方式。考虑这个过程,如果需要,请写下它,然后写代码以实现这些步骤。根据您使用的单词,它几乎是代码,例如,"对于输入中的每个字符,找到相应的摩尔斯码并将其添加到输出中"。如果我没有误,C#有 Foreach. 循环。因为它发生了,福彩12选5走势图c# Foreach. 专门用于枚举实现的对象中的项目 Ienumerable. 界面。这似乎都在一起。
 

sh

众所周知的成员
加入
2018年9月5日
消息
1,982
编程经验
10+
@himlastar. 在CSharpforums的时候,只有一点点小费。我们了解到您可能是语言的新手,在帮助像你这样的人时,我们都对此进行了例外。但是当这个论坛上有人斜体时,当我们正试图指出特定的东西或者给予小费时,我们几乎所有人都这样做。)通常暗示你 搜索interwebs. 或者通常是 MSDN. : 搜索 无论如何 斜体 or highlighted text is. Upon doing so, it should be very clear to you what you're being advised to do once you follow the directions you are given on your topic and in the documentation you are looking into. Plus, almost all MSDN pages, comes with very helpful code examples, including descriptive and very elaborate explanations describing the usage for whatever it is you're needing to do further researching on. (y)
 

Himlastar.

成员
加入
2019年3月16日
消息
10
编程经验
Beginner
C#:
  static void Task3()
        {
            string word = "3.Uzdevums";
            Console.ForegroundColor = ConsoleColor.Green;
            Console.SetCursorPosition((Console.WindowWidth - word.Length) / 2, Console.CursorTop);
            Console.WriteLine(word);
            Console.ForegroundColor = ConsoleColor.DarkCyan;
            Console.WriteLine();

            //////////////////////
            //////////////////////
            

            Random rnd = new Random();

            // Masīvs char
            char[] chars = {
                ' ', 'a', 'b', 'c', 'd',
                'e', 'f', 'g', 'h', 'i',
                'j', 'k', 'l', 'm', 'n',
                'o', 'p', 'q', 'r', 's',
                't', 'u', 'v', 'w', 'x',
                'y', 'z', '1', '2', '3',
                '4', '5', '6', '7', '8',
                '9', '0' };
            // masīvs string
            string[] morze = {
                "  ", ". -", "- . . .", "- . - .", "- . .",
                ".", ". . - .", "- - .", ". . . .", ". .",
                ". - - -", "- . -", ". - . .", "- -", "- .",
                "- - -", ". - - .", "- - . -", ". - .", ". . .",
                "-", ". . -", ". . . -", ". - -", "- . . -", "- . - -",
                "- - . .", ". - - - -", ". . - - -", ". . . - -", ". . . . -",
                ". . . . .", "- . . . .", "- - . . .", "- - - . .",
                "- - - - .", "- - - - -" };
            // Tukšu string definēšana lietotāja ievadītā vārda un translācijas glabāšanai.

            string Input = "";
            string translation = "";

            // Tulkošana

            Console.Write("Input text, that'll be translated: ");
            Input = Console.ReadLine();
            Input = Input.ToLower();
            for (int x = 0; x < Input.Length; x++)
            {
                for (int y = 0; y < chars.Length; y++)
                {
                    if (Input[x] == chars[y])
                    {
                        translation += morze[y];
                        translation += "   ";
                        break;
                    }
                }
            }

            char[] Array = translation.ToCharArray();
            for (int i = 0; i < translation.Length; i++)
            {
                if (Array[i] == '.')
                {
                    Console.Beep(1000, 100);
                }
                if (Array[i] == '-')
                {
                    Console.Beep(1000, 800);
                }
                if (Array[i] == ' ')
                {
                    Thread.Sleep(100);
                }
            }
            Console.ForegroundColor = ConsoleColor.Cyan;
            Console.Write($"Translation: {translation}");
            Console.WriteLine();
        }
    }
 

跳伞运动员

工作人员
加入
2019年4月6日
消息
2,893
地点
切萨皮克,va.
编程经验
10+
什么's the point of the rnd variable on line 14?

Yes, back in the 1950-60's using parallel arrays like you are doing with your char and morze was the way to do things because that was the only thing they had with most of the commonly available programming languages back then. Nowadays we have learned to keep related information together in struct's and class's or special data structures. In this case when you are mapping one value to another, a 字典<> is the best data structure -- and this is what was suggested very early on in this thread.

作为福彩12选5走势图小狡辩:延迟的持续时间应该是点持续时间的三倍。当我试图在Cub Scouts中学习摩尔斯电码时,这是我仍然回忆起的少数事情之一。
 
Last edited:

jmplhinney.

C#论坛主持人
工作人员
加入
2011年4月23日
消息
3,720
地点
悉尼,澳大利亚
编程经验
10+
所以你得到了 字典 一部分开始,但你打破了它,现在你有福彩12选5走势图 char 数组,但您无法正确使用它。你应该回到 字典 但是,如果要使用并发阵列,则至少要使用它们。整点是同一索引处的元素对应,因此您应该使用该关系:
C#:
细绳 input = Console.ReadLine();
string translation = string.Empty;

foreach (char ch in input)
{
    int index = Array.IndexOf(chars, char.ToLower(ch));
    
    // If invalid characters may be present, allow for index to be -1.
    
    translation += morze[index];
}
 
最佳 底部