2011-06-29 170 views
2

我對編程完全陌生。我正在閱讀互聯網上的一些教程,還嘗試學習Java編程時Barry Burds「傻瓜式的Java」。我嘗試過所有我能想到但沒有成功的變體。 在一個練習中,我應該讓以下程序在「messageDialogBox」中打印一條消息,該消息應包含程序用戶寫入的數字。不幸的是,當試圖編譯時,我得到以下錯誤消息:有人可以幫我讓代碼工作嗎?代碼有什麼問題?錯誤消息:')'expected,and「not a statement''''expected

5 errors 
Addition2.java:24: ')' expected 
     JOptionPane.showMessageDialog(null, firstnumber "+" secondnumber 
                ^
Addition2.java:25: not a statement 
     + sum, "Results", JOptionPane.PLAIN_MESSAGE); 
    ^
Addition2.java:25: ';' expected 
     + sum, "Results", JOptionPane.PLAIN_MESSAGE); 
     ^
Addition2.java:25: not a statement 
     + sum, "Results", JOptionPane.PLAIN_MESSAGE); 
           ^
Addition2.java:25: ';' expected 
     + sum, "Results", JOptionPane.PLAIN_MESSAGE); 

的代碼如下:

import javax.swing.JOptionPane; 

public class Addition2 
{ 
    public static void main(String args[]) 
    { 
     String firstnumberstring; 
     String secondnumberstring; 

     int firstnumber; 
     int secondnumber; 
     int sum; 

     firstnumberstring = JOptionPane.showInputDialog( 
      "Write first number"); 
     secondnumberstring = 
     JOptionPane.showInputDialog("Write second number"); 

     firstnumber = Integer.parseInt(firstnumberstring); 
     secondnumber = Integer.parseInt(secondnumberstring); 

     sum = firstnumber + secondnumber; 

     JOptionPane.showMessageDialog(null, firstnumber "+" secondnumber 
     + sum, "Results", JOptionPane.PLAIN_MESSAGE); 
    } 
} 

回答

0

你需要使用字符串貓運算符連接字符串:+

JOptionPane.showMessageDialog(null, firstnumber + "+" + secondnumber + " = " + sum, "Results", JOptionPane.PLAIN_MESSAGE); 

順便說一句;在第一次分配變量的地方聲明變量被認爲是一件好事 - 而不是堅持舊的C要求(用古老的詞根),所有變量必須在實際代碼之前聲明。

String firstnumberstring = JOptionPane.showInputDialog( 
     "Write first number"); 

當試圖找出變量的使用位置時,它會有所幫助。 當一個變量僅用於特定範圍時特別有用; (大括號內)

3

假設showMessageDialog旨在呈現增加的結果,這條線

JOptionPane.showMessageDialog(null, firstnumber "+" secondnumber 
     + sum, "Results", JOptionPane.PLAIN_MESSAGE); 

或許應該讀什麼樣

JOptionPane.showMessageDialog(null, firstnumber + "+" + secondnumber + "=" + 
               ^ ^   ^^^^^^^ 

     + sum, "Results", JOptionPane.PLAIN_MESSAGE); 

(只需將字符串和數字放在一起不會連接它們。您必須將+置於其間!)

另請注意,5 + 3 + " hello"產量"8 hello"。要生產53 hello,您必須執行例如"" + 5 + 3 + " hello"


您也可以使用例如String.format在這種情況下,代碼是這樣

String msg = String.format("%d + %d = %d", firstnumber, secondnumber, sum); 
JOptionPane.showMessageDialog(null, msg, "Results", JOptionPane.PLAIN_MESSAGE); 
+0

謝謝你好多!我是3 +短的標誌。讓它+「+」做到了!再一次謝謝你! – user820913

+0

務必提供所有有用答案並接受回答您的問題的答案/解決您的問題。 – aioobe

2

這就是問題所在:

firstnumber "+" secondnumber 

目前尚不清楚你的意思在這裏。你真的想要算術總和嗎?如果是這樣,你不應該有周圍的+運營商的報價:

JOptionPane.showMessageDialog(null, firstnumber + secondnumber + sum, 
    "Results", JOptionPane.PLAIN_MESSAGE); 

如果實際上意味着使用字符串連接,其中包括「+」字符串中,你需要使用這樣的事情:

JOptionPane.showMessageDialog(null, firstnumber + "+" + secondnumber + "=" + sum, 
    "Results", JOptionPane.PLAIN_MESSAGE); 

看着有點像這樣:

+ "+" + 

第一和第三+這裏的招牌是字符串連接運算符。中間一個在字符串文字中。