Простые статические методы (Консоль), помощь - PullRequest
0 голосов
/ 03 сентября 2010

я впервые публикую здесь свою проблему, надеюсь, я получу помощь:)

Моя проблема:

Я пытаюсь отобразить «Этот старик» (первые две строфы)только) в консоли.Я начинаю изучать методы, поэтому, пожалуйста, имейте мое n00bishness.

Песня идет:

This old man, he played one
He played knick−knack on my thumb
With a knick−knack paddy−whack
Give a dog a bone
This old man came rolling home


This old man, he played two
He played knick−knack on my shoe
With a knick−knack paddy−whack
Give a dog a bone
This old man came rolling home

Я кодировал следующее:

namespace Song
{
    class Song
    {
        static void Main(string[] args)
        {
            doVerse(1);
            doChorus();
        }
        static void doChorus()
        {
            Console.WriteLine("With a knick−knack paddy−whack");
            Console.WriteLine("Give the dog a bone");
            Console.WriteLine("This old man came rolling home");
            Console.WriteLine();
            Console.ReadLine();
        }
        static void doVerse(int verseNum)
        {
            string message = "";
            message += "This old man, he played ";
            message += verseNum;
            message += ". \nHe played knick−knack ";
            //message += getPlace(verseNum);
            Console.WriteLine(message);
        }
        static void getPlace()
        {
            string message = "";
            switch (verseNum)
            {
                case 1:
                    message = "on my thumb ";
                    break;
                case 2:
                    message = "on my shoe";
                    break;
                default:
                    message = "not yet defined";
                    break;
            }
            return message;
        }
    }
}

VisualСтудия выдает мне следующие ошибки:

http://i56.tinypic.com/fx850m.jpg

Я надеюсь, что вы, ребята, понимаете мое намерение с этой программой.

Спасибо

С уважением,

Кайл: D

1 Ответ

0 голосов
/ 03 сентября 2010

Измените getPlace метод на этот:

static string getPlace(int verseNum)
{
    string message = "";
    switch (verseNum)
    {
        case 1:
            message = "on my thumb ";
            break;
        case 2:
            message = "on my shoe";
            break;
        default:
            message = "not yet defined";
            break;
    }
    return message;
}

Полагаю, это домашняя работа, , поэтому я объясню, почему она не работает У вас было две ошибки:

  1. Ваш метод был установлен на static void и вы пытались вернуть string. Вы должны были заменить void с string, чтобы указать, что метод возвращает string.
  2. Вы использовали переменная с именем verseNum, которая была нет в методе. Пройти в переменной вы должны включить это в сигнатуре метода.
...