主控台應用程式 輸入與輸出文字

學習主控台的首要項目當然就是文字的輸出與輸入了!在Visual Basic 2008中,提供了Console類別來表示主控台應用程式的標準輸入、輸出和錯誤資料流。此外,Console無法被繼承。

輸出文字 Write、WriteLine 方法

Console提供了Write、和WriteLine兩種方法來輸出文字。

Write 方法

Write顧名思義就是"寫"的意思,意即在主控台應用程式中輸出文字。

語法格式:

Console.Write(字串)

例如:

Console.Write("Hello VB!”)

使用Write方法輸出的文字並不會自動換行,若要讓Write能換行,則必須加上換行字元「vbCrLf」。

例如:

Console.Write("Hello VB!” & vbCrLf)

WriteLine 方法

WriteLine顧名思義就是"寫一行"的意思,與Write不同的是,WriteLine輸出文字後會自動換行

語法格式:

Console.WriteLine(字串)

例如:

Console.WriteLine("Hello VB!”)

範例題目:

設計一個主控台應用程式來顯示一首詩(如下圖)

vb-net-console-1

1
2
3
4
5
6
7
8
9
10
Module Module1
 
    Sub Main()
        Console.WriteLine("笑紅塵   慵懶先生" & vbCrLf)
        Console.WriteLine("傲骨雄天下,笑顏卻未歸;")
        Console.WriteLine("紅土黃沙去,塵灰滿天飛。")
        Console.Read() '讓主控台暫停,方便設計者看輸出狀況
    End Sub
 
End Module

輸入文字 Read、ReadLine、ReadKey 方法

Console提供了Read、ReadLine、ReadKey三種方法來輸入文字。

Read 方法

Read用來讀取輸入字串字首的ASCII

語法格式:

變數 = Console.Read()

例如:

Dim I As Integer

I = Console.Read()

不管Console.Read()輸入了多長的字串,其永遠只傳回字首的ASCII。

Read也常被用來當程式輸出運算結果後的暫停程式,用法如上面的範例題目。

Console.Read() ‘傳回值不儲存,用來暫時停止程式運行

ReadLine 方法

ReadLine用來讀取一整行的輸入文字字串

語法格式:

變數 = Console.ReadLine()

例如:

Dim I As String

I = Console.ReadLine()

ReadKey 方法

ReadLine用來讀取使用者按下的下一個字元或功能鍵,並將其顯示出來。按下的按鍵會顯示在主控台視窗中。由於這個牽扯比較深入,所以在此暫時不檢討。常用來當做「按下任意鍵繼續」的功能。

語法格式:

Console.ReadKey()

例如:

Console.Write("按下任意鍵繼續…")

Console.ReadKey()

Write、WriteLine 如何輸出變數?

一、最原始的方法,用&字串連接的運算子

假設要輸出S這個變數,那麼…

Console.Write("S=" & S)

雖然這樣很簡單,但當變數很多的時候,就會亂成一團了,例如:

Console.Write("S=" & S & " T=" & T & " U=" & U & " V=" & V & " W=" & W & " X=" & X & " Y=" & Y & " Z=" & Z)

所以這種方法當然是最不好的。

二、使用Write、WriteLine本身的嵌入方式

Write和WriteLine,都可使用嵌入的方法,以{0},{1},{2}……來代替變數,語法格式如下:

Console.Write(“變數0={0} 變數1={1}", 編號0的變數 , 編號1的變數 )

將剛才那種土法煉鋼的式子修改一下,變成…

Console.Write("S={0} T={1} U={2} V={3} W={4} X={5} Y={6} Z={7}", S, T, U, V, W, X, Y, Z)

如何?是不是好看多了呢?

Clear 方法清除所有文字

輸出文字太多了,讓使用者看得眼花撩亂,這時可以用Clear方法來清除主控台的所有文字。

語法格式:

Console.Clear()

 

範例練習

設計一個主控台應用程式,能連續讓使用者輸入文字,並輸出使用者輸入的文字。輸出文字後要求使用者按下任意鍵繼續輸入文字,按下任意鍵的瞬間要清空之前所輸出的文字。如下圖:

vb-net-console-2

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Module Module1
 
    Sub Main()
        Dim Input As String '用Input來儲存使用者輸入的文字
        Do '連續輸入的Do-Loop無窮迴圈
            Console.Write("請隨便輸入文字:")
            Input = Console.ReadLine
            Console.WriteLine("您輸入的文字是:{0}", Input)
            Console.Write("按任意鍵繼續輸入...")
            Console.ReadKey() '讀取任意鍵
            Console.WriteLine() '跳到下一行
        Loop
    End Sub
 
End Module
文章分類:VB.net|標籤:, , , , , , , , ,

迴響已關閉