2014-11-04 37 views
-9

我想使用Java添加4位數字的1或2位數字。編輯的Java添加4位數字的數字

i1=2 
i2=33 
i3=12 
i4=10 

結果:12(2 + 3 + 3 + 1 + 2 + 1 + 0)

我怎麼能這樣做呢?

+2

第1步:獲取數字。 – 2014-11-04 18:30:48

+2

步驟2:獲得總和 – 2014-11-04 18:31:41

+0

請注意,不要使用'i1','i2','i3'等作爲變量名稱,因爲您不知道有多少個數字。當你開始在變量名中使用數字時,這意味着你需要一個循環或一個「List」(或兩者)。 – 2014-11-04 18:34:38

回答

-1

創建一個函數,將計算的數字的總和:

int getDigitSum(int n) { 
    return Math.floor(n/10) + n % 10; 
} 

然後使用它的每一個值,總結的結果。

請注意,我寫這個方法只適用於小於100的數字。如果需要,您可以輕鬆地創建更通用的方法。

+3

不需要使用'Math.floor()'。整數除法自動截斷。 – 2014-11-04 18:35:39

+1

另外,如果輸入有兩個以上的數字呢? – 2014-11-04 18:36:11

+0

@ Code-Apprentice,這不是一個普通的功能 - 只是一個簡單的方法來解決原始請求:)至於整數除法 - 我同意;但我認爲明確要求發言權會使代碼更清晰。 (當然,在一個緊密的循環中,我不會推薦這樣做)。 – 2014-11-04 18:38:22

0

你想這樣做,是這樣的:

public static void main(String[]args){ 
     int num=1234,sumOfDigits=0; 
     while(num!=0){ 
      sumOfDigits+=num%10; 
      num/=10; 
     } 
     System.out.println("Sum of digits is : " + sumOfDigits); 
    } 

事物要了解%給剩餘的號碼,所以當你做1234%10它給4.這是最後一位。
num/= 10表示num = num/10;所以這將是1234/10將是123而不是123.4,因爲這是int整數。

-1

我給一個嘗試,以實現在一張紙上你的目標though.:-).Please試試這個

int addition=0; 
int num=243;  
    while(num>9){ 
    int rem; 
    rem=num%10; 
    addition=addition+rem; 
    num=num/10; 
    if(num<9) { 
     addition+=num; 
     num=addition; 
     addition=0; 
    } 
    } 
    System.out.println(num); 
2

下面是一些提示,你可能需要:

1)如果你上使用/參數將是整數,那麼你的結果也將是整數。

例子:

int x = 7/2; 
System.out.println(x); 

輸出:3(未3.5

因此擺脫整數的最後一位的所有你能做的是10樣

int x = 123; 
x = x/10; 
System.out.println(x); 
除以這個數字

輸出:12

2)Java也有模運算符,從分區返回提醒,如7/2=31會提醒。這個操作符是%

int x = 7; 
x = x % 5; 
System.out.println(x); 

輸出:2因爲7/5=1 (2 remains)

因此,要獲得最後一個數字從整,你可以簡單地使用% 10

int x = 123; 
int lastDigit = x%10; 
System.out.println(lastDigit); 

輸出:3

現在嘗試結合這些知識。獲取號碼的最後一位數字,將其加起來,刪除最後一位數字(重複,直到不再有數字)。