2014-11-14 71 views
0

所以我需要完成這個程序,要求用戶鍵入一個單詞,然後他需要寫回「加密」,只有在數量。
所以a是1,b是2 ...
例如,如果我給出「壞」這個詞,它應該回來爲「2 1 4」。
我所做的程序似乎總是隻爲這個詞的第一個字母做這個。
我需要幫助的問題是,爲什麼此程序在第一個字母后停止循環?我甚至做對了嗎,還是完全沒有?
任何幫助將不勝感激。

字母表字符串代碼,循環

 Console.Write("Please, type in a word: "); 
     string start = Console.ReadLine(); 

     string alphabet = "abcdefghijklmnopqrstuvwxyz"; 

     for (int c = 0; c < alphabet.Length; c++) 
     { 
      int a = 0; 

      if (start[a] == alphabet[c]) 
      { 
       Console.Write(c + 1); 
       a++; 
       continue; 
      } 
      if (start[a] != alphabet[c]) 
      { 
       a++; 
       continue; 
      } 

     } 

回答

1

我嵌套循環來完成它:

Console.Write("Please, type in a word: "); 
string start = Console.ReadLine(); 

string alphabet = "abcdefghijklmnopqrstuvwxyz"; 

for (int a = 0; a < start.Length; a++) 
{ 
    for (int c = 0; c < alphabet.Length; c++) 
    { 
     if (start[a] == alphabet[c]) 
     { 
      Console.Write(c + 1); 
     } 
    } 
} 

在比較字符串,它通過兩個人的是有道理的,至少對我來說,循環。

您的程序在第一個字母后停止,因爲您在每個循環的開始處將「a」重置爲0。

+0

非常感謝您抽出時間,我非常感謝。 – user2956514 2014-11-14 17:35:29