2010-09-03 48 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