2015-04-19 85 views
0

我需要在java中的類的方法中通過t1t2。我只展示了相關的部分。在類方法中傳遞變量

public static void main(String[] args) { 
     int hr,min,secs; 
     Time t1; 
     t1 = new Time(); 
     t1.hr = Integer.parseInt(JOptionPane.showInputDialog("Enter the time(hours)")); 
     Time t2; 
     t2 = new Time(); 
     t2.hr = Integer.parseInt(JOptionPane.showInputDialog("Enter the time(hours)")); 
} 

的類如波紋管

class Time { 
    int hr; 
    int add2times(int t1, int t2) { 
     int result_hr = t1.hr + t2.hr; 
    } 
} 

我收到以下錯誤int result_hr = t1.hr + t2.hr; int cannot be deference

+1

如果't1'和't2'是'int's,那麼它們不是'Time's,並且不會有'hr'字段。 – azurefrog

+0

該方法的聲明不應該像'public static int add2times(Time t1,Time t2)'?你希望't1'和't2'是'Time'對象,對嗎? –

+0

最少閱讀http://docs.oracle.com/javase/tutorial/ –

回答

3

你得到是說,T1和T2的錯誤不是對象,並沒有hr變量,這是因爲對象t1和t2是Time對象,因此需要在參數中聲明。您目前正在將它們定義爲int。

您的add2Times方法也不會返回結果時間。我修正了這個問題。

int add2times(Time t1, Time t2) { 
    return t1.hr + t2.hr; 
} 
+0

現在我覺得很傻 – user2650277

+0

該方法確實應該聲明爲「靜態」。 –

+0

@DavidWallace我知道。但這不是代碼審查。 –