2010-09-03 79 views
0

這是我第一次在這裏張貼了我的問題,我希望我能幫助:)簡單的靜態方法(控制檯)幫助

我的問題:

我想顯示「這老頭」(前兩個節只)在控制檯。 我開始學習方法,所以請忍受我的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 Studio是給我下面的錯誤:

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

我希望你們能理解我這個計劃的意圖。

感謝

問候,

凱爾:d

+1

你的問題是什麼? – ChrisW 2010-09-03 10:05:48

+1

那麼問題是什麼? – DHN 2010-09-03 10:05:54

+2

看起來像'getPlace'需要'int verseNum'作爲參數 – mikej 2010-09-03 10:06:18

回答

0

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,該變量在方法中不存在 。要在變量中傳遞 ,必須在方法簽名中包含 。
+0

感謝GenericTypeTea!成功了! 我現在開始抓住這些:) – kylebriffa7 2010-09-03 10:20:05

+0

btw這不是作業:\爲什麼大家都這麼說? 我試圖從我自己的各種網站上學習,所以爲了開始學習,我會熟悉這些,這就是全部:\ – kylebriffa7 2010-09-03 10:34:45

+0

因爲通常人們懶惰,如果不是被家庭作業強迫就不會做任何事情。因此,假設。不要擔心;) – digEmAll 2010-09-03 10:40:50