2013-10-16 62 views
0
package com.testo.project1; 

public class mathe { 
    static int zahl1; 
    static int zahl2; 
    static int erg; 

    public static void main(String[] args) { 

     add(5,4);  

    } 

    public static void add(){ 

     zahl1 = this.zahl1; 
     zahl2 = this.zahl2; 
     erg=zahl1+zahl2; 
     System.out.println(erg); 
    } 




} 

爲什麼此代碼不起作用?我調用該方法時有2個整數。 該方法是否需要一個對象?該類型的方法不適用於參數(int)

+3

您已聲明方法採用零參數... –

回答

0

add方法中沒有兩個參數。爲該方法定義兩個int參數。另外,那些static變量是不需要的;只需聲明erg爲總和的局部變量。

2

這段代碼沒有違法,是完全錯誤的,所以我會提出一個替代方案。

這裏的關鍵是我有方法接受兩個整數,然後將它們返回到主打印總和的地方。

package com.testo.project1; 

public class mathe { 
    public static void main(String[] args) { 
     System.out.println(add(5,4));  
    } 
    public static int add(int i1, int i2){ 

     return i1+i2; 
    } 

} 
+0

s/void add/int add/ – Ingo

+0

@Ingo請參閱編輯。我在不同修訂之間跳躍,因爲它與原始文件保持類似,而不是完全重構。我現在應該解決。 – hexafraction

+0

如何返回s.th.當你說這個方法返回void時? – MadScientisto

1

你想讓你的方法得到兩個整數,但它沒有得到任何「add()」。它應該是「add(int a,int b)」。

另外這兩個數字不應該作爲類的一部分。

+0

」此外所有這些靜態的東西都是多餘的。「靜態方法(add和void)在所有。你的意思是說這些字段是多餘的? – hexafraction

+0

@hexafraction是:)感謝您的回答。我現在正在更新 –

相關問題