2011-10-17 101 views
0

我使用NetBeans,當我嘗試編譯創建Java中的計算器, 我得到一個錯誤的說法,「不是一個聲明」不是語句錯誤

private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {           
    int a; 
    int b; 
    int c; 

    a * Integer.parseInt(jTextField1.getText()); 
    b * Integer.parseInt(jTextField2.getText()); 
    c * a * b; 
    jTextField3.setText(" " + c); 
} 

回答

0

你可能意味着這些行:

a*Integer.parseInt(jTextField1.getText()); 
b*Integer.parseInt(jTextField2.getText()); 
c*a*b; 

是這樣的:

a = Integer.parseInt(jTextField1.getText()); 
b = Integer.parseInt(jTextField2.getText()); 
c = a*b; 
0

此:

a*Integer.parseInt(jTextField1.getText()); 

只是執行乘法 - 它不會將值分配給任何東西。這不是Java中的有效聲明。 (它也試圖使用未分配的變量)。

懷疑要使用分配,像這樣:

int a = Integer.parseInt(jTextField1.getText()); 
int b = Integer.parseInt(jTextField2.getText()); 
int c = a * b; 

注意使用賦值運算符(=),您以前有*

我也在第一次使用時聲明瞭變量,這通常是一個很好的習慣。這不是嚴格需要,你要知道:

// Valid but not as nice code. 
int a; 
int b; 
int c; 
a = Integer.parseInt(jTextField1.getText()); 
b = Integer.parseInt(jTextField2.getText()); 
c = a * b; 
0

恐怕

a*Integer.parseInt(jTextField1.getText()); 

不是一個實例化。嘗試

a = Integer.parseInt(jTextField1.getText()); 

相反,它可能有助於在此任務中進一步獲取一行。