[VB2005] 不知道為什麼錯= =a

看板Visual_Basic作者 (咚兔)時間19年前 (2006/08/09 00:41), 編輯推噓1(1014)
留言15則, 3人參與, 最新討論串1/1
小弟是VB 2005初學 在練習一題題目為: 輸入A,B,C三角形的三個邊長,並判斷是何種三角形。 1. A^2=B^2+C^2為直角三角形。 2. A^2>B^2+C^2為鈍角三角形。 3. A^2<B^2+C^2為銳角三角形。 我的程式碼如下: ----------------------------------------------------------------------------- Module Module1 Sub Main() Dim a, b, c, x As Single, str1 As String Console.WriteLine("讓我們來看看這是個什麼樣的三角形吧~") Console.Write("請輸入三角形的長邊:") a = Console.ReadLine() Console.Write("請輸入三角形的一個短邊:") b = Console.ReadLine() Console.Write("請輸入三角形的另一個短邊:") c = Console.ReadLine() x = b ^ 2 + c ^ 2 If x = a ^ 2 Then str1 = "直角三角形" ElseIf x < a ^ 2 Then str1 = "鈍角三角形" ElseIf x > a ^ 2 Then str1 = "銳角三角形" End If Console.WriteLine("三邊長{0},{1},{2}的三角形為", a, b, c & str1) Console.Read() End Sub End Module ---------------------------------------------------------------------------- 我現在卡在第20行的最後那個str1,不知道為什麼出錯,請前輩們指點一下迷津 以下是對這個錯誤的警告描述: 變數 'str1' 已在指派值之前使用。可能會在執行階段產生 null 參考例外狀況。 還有這題可以用哪些結構去做呢? 先謝謝喔^^ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 125.231.112.243

08/09 01:03, , 1F
呃...我才學第二天...程度太爛不要罵我>"<
08/09 01:03, 1F

08/09 01:04, , 2F
還有~我真的看不懂那串警告是要告訴我什麼事~"~a
08/09 01:04, 2F

08/09 01:20, , 3F
IF~Elseif~少了Else 最後一個條件用Else 不然最後補個Else
08/09 01:20, 3F

08/09 01:23, , 4F
ElseIf x < a ^ 2 Then 改成 Else
08/09 01:23, 4F

08/09 01:30, , 5F
可以了~謝謝^^
08/09 01:30, 5F

08/09 01:31, , 6F
可是最後輸出結果怎麼會跑出三邊長x,x,x為XX三角形的三角形
08/09 01:31, 6F

08/09 01:32, , 7F
~"~ str1這個字串要怎麼改到句子的最後@"@a
08/09 01:32, 7F

08/09 01:34, , 8F
生於 mscorlib.dll
08/09 01:34, 8F

08/09 01:34, , 9F
第一個可能發生的例外狀況類型 'System.FormatException' 發
08/09 01:34, 9F

08/09 01:34, , 10F
上兩行顛倒,改過之後在即時視窗出現的
08/09 01:34, 10F

08/09 01:35, , 11F
這樣是什麼情形呀?
08/09 01:35, 11F

08/09 02:35, , 12F
你寫成c & str1;str1會跟在c後面一起print,全轉成字串吧
08/09 02:35, 12F

08/09 02:36, , 13F
"三邊長" + Str(a) + "," + Str(b) + "," + Str(c) + "的
08/09 02:36, 13F

08/09 02:36, , 14F
"的三角形" & str1
08/09 02:36, 14F
我把最後輸出的那一行改成 Console.WriteLine("三邊長{0},{1},{2}的三角形為 " & str1, a , b , c) 就成功了... 原來要連接的字串要先接上 然後a,b,c這三個變數再擺在句子最後面補述 對了~york47c大大 你的最後三行推文我有試過,不過它說Str(x)還有","錯誤耶 但是還是謝謝你啦~幫我解決了else的問題^^ 只是我還是不知道這兩句的意思......~"~a 變數 'str1' 已在指派值之前使用。可能會在執行階段產生 null 參考例外狀況。 第一個可能發生的例外狀況類型 'System.FormatException' 發生於 mscorlib.dll ※ 編輯: dong2 來自: 125.231.112.243 (08/09 03:22) ※ 編輯: dong2 來自: 125.231.124.29 (08/09 21:12)

08/11 19:47, , 15F
變數宣告要給予初始值...
08/11 19:47, 15F
文章代碼(AID): #14sBxLHn (Visual_Basic)
文章代碼(AID): #14sBxLHn (Visual_Basic)