簡體   English   中英

C# 無法正確處理這行簡單的代碼

[英]C# can't get this simple line of code right

static void Main(string[] args)
{
    Console.WriteLine("Enter a letter");
    * = Console.ReadLine();
    Console.WriteLine("          * * *");
    Console.WriteLine("               ");
    Console.WriteLine("          * * *");
    Console.WriteLine("               ");
    Console.WriteLine("*    *    *   *        *");
    Console.WriteLine("            *        * ");
    Console.WriteLine("*    *    *   *    *  ");
    Console.WriteLine("                       ");
    Console.WriteLine("            *          ");
    Console.WriteLine("                       ");
    Console.WriteLine("          *           ");
    Console.WriteLine("                       ");
    Console.WriteLine("              *");

我一直在嘗試創建一個切片的立方體(帶有 1-6 個點)問題是,它不需要是這些“*”,我需要在有人輸入的任何字母中進行,所以我添加了 2 行代碼:

Console.WriteLine("Enter a letter");
* = Console.ReadLine();"

它一直在給出錯誤,那么我該如何使它工作?

編輯:忘記包含錯誤

嚴重性代碼描述項目文件行錯誤 CS1525 無效的表達式術語 '=' Peot shel kubia shesh besh D:\\Visual Studio Projects\\Peot shel kubia shesh besh\\Peot shel kubia shesh besh\\Program.cs 14

基本上 * 對編譯器沒有任何意義。 (在您使用的上下文中,它是 2 個 int/float 數據類型的乘數。)在這種情況下,您需要將其設為字符串變量,盡管它可以是任何其他數據類型,例如

string input = Console.ReadLine();

然后在你的輸出中你需要引用它。 類似於以下內容

Console.WriteLine("          {0} {0} {0}", input);

在此,您將替換代碼中的“*”以引用調用的第一個{0}參數。 如果您有多個參數,則可以執行以下操作:

Console.WriteLine("          {0} {1} {2}", input, input2, input3);

我希望這能清楚地解釋您當前的問題是什么。 盡管許多人對您的帖子發表了評論,但這是對如何在 C# 中編碼的根本誤解,我強烈建議您閱讀一些基本教程,甚至瀏覽http://csharp.net-tutorials.com/basics/introduction/會解決/防止您的問題。

我不確定切片立方體的樣子。 但我非常確定這是您的老師或教職員工提供的程序。 我假設他們可能要求您使用用戶輸入的字符打印 Sliced Cube。 在這種情況下,您實現的代碼很受歡迎,但是是錯誤的。

首先,您需要從用戶那里獲取輸入。 可以從下面的代碼中完成

var userInput = Console.ReadLine();

其次,如果我們需要繪制一個圖案,方法不應該是重復Console.WriteLine(); 線,而您應該使用一個循環來為您繪制此圖案。 循環用於執行重復任務。 所以這可能看起來像這樣

for(int i = 0; i < 5; i++)
{
    for(int j = 0; j <= i; j++)
    {
        Console.Write(userInput);
    }
    Console.WriteLine();
}
Console.WriteLine("Enter a letter");
        string h =  Console.ReadLine();
        Console.Write("          "); Console.Write(h); Console.Write(" "); Console.Write(h); Console.Write(" "); Console.WriteLine(h);      
        Console.WriteLine("               ");
        Console.Write("          "); Console.Write(h); Console.Write(" "); Console.Write(h); Console.Write(" "); Console.WriteLine(h);
        Console.WriteLine("               ");
        Console.Write(h); Console.Write("    "); Console.Write(h); Console.Write("    "); Console.Write(h); Console.Write("   "); Console.Write(h); Console.Write("        "); Console.WriteLine(h);
        Console.Write("            "); Console.Write(h); Console.Write("        "); Console.WriteLine(h);
        Console.Write(h); Console.Write("    "); Console.Write(h); Console.Write("    "); Console.Write(h); Console.Write("   "); Console.Write(h); Console.Write("    "); Console.WriteLine(h);
        Console.WriteLine(" ");    

        Console.Write("            "); Console.WriteLine(h);
        Console.WriteLine(" ");
        Console.Write("          "); Console.WriteLine(h);
        Console.WriteLine(" ");
        Console.Write("              "); Console.WriteLine(h);

經過大約一個小時的編碼后,我重新編碼了整個程序,現在可以了。 無論我輸入什么字母,我都會得到立方體 :D 但是感謝所有回答和幫助我的人。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM