很顯然,我對此很陌生,因此也是該項目的內容。我寫了一些代碼將英語翻譯成Pig Latin。很簡單。問題是我想找到一種方法來將豬拉丁文翻譯成英文使用邏輯塊。克隆字符串似乎是一種便宜的方法。有什麼建議麼?這是我的代碼:從拉丁文翻譯成英文的C#翻譯器
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace FunctionTest
{
public class PigLatinClass
{
public static void pigTalk(string sentence)
{
try
{
while (sentence != "exit")
{
string firstLetter;
string afterFirst;
string pigLatinOut = "";
int x;
string vowel = "AEIOUaeiou";
Console.WriteLine("Enter a sentence to convert into PigLatin");
sentence = Console.ReadLine();
string[] pieces = sentence.Split();
foreach (string piece in pieces)
{
afterFirst = piece.Substring(1);
firstLetter = piece.Substring(0, 1);
x = vowel.IndexOf(firstLetter);
if (x == -1)
{
pigLatinOut = (afterFirst + firstLetter + "ay ");
}
else
{
pigLatinOut = (firstLetter + afterFirst + "way ");
}
Console.Write(pigLatinOut);
}
Console.WriteLine("Press Enter to flip the sentence back.");
Console.ReadKey(true);
string clonedString = null;
clonedString = (String)sentence.Clone();
Console.WriteLine(clonedString);
}
}
catch (Exception e)
{
Console.WriteLine(e.ToString());
}
}
}
}
問題是沒有真正的規則可行。例如:如果上一個第三個字母 是「w」,那麼您可能想要說這是一個元音字,但是,以「w」開頭的輔音字也可以符合此規則。如果第一個字母再次是元音字母,你可能會想說這是一個元音字,但是,從第一個字母移到後面(pat = atpay),輔音字也可以適合這個規則。我認爲這是可能的唯一方法是有一個if語句來檢查w是否在第三個位置,並且該單詞以元音開頭,該元音將要求運算符,如果您將它與字符串一起使用,則Visual Studio會對您大喊。
究竟是什麼即時通訊思維。所以,在這種特殊情況下,我不是真的錯過了一些東西我遇到了不可能的事情? – 2010-11-04 15:44:56
是的,我認爲有一個獨特的翻譯(大部分時間)是不可能的。但是,如果存在多種可能性,也許你可以提供不同的翻譯... – digEmAll 2010-11-04 15:56:50
哇,需要大量頭腦風暴才能找到所有多個案例......或者我可以創建一個函數來處理這個問題。好。我想我現在走在正確的道路上。感謝digEmAll和所有幫助我的人! – 2010-11-04 16:03:42