程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> java-Java中關於方法編程的問題

java-Java中關於方法編程的問題

編輯:編程綜合問答
Java中關於方法編程的問題

題目如下:
編寫一個方法,計算一個整數各位數字之和:public static int sumDigits(long n)
例如: sumDigits(234),返回9;
我自己編寫了一段代碼如下:
package myownJava;
import java.util.Scanner;
public class SumDigits {
public static void main(String[] args){
System.out.print("Enter a number");
Scanner s = new Scanner(System.in);
int number = s.nextInt();
System.out.println("The sum of digits for"+number+"is"+sumDigits(number));
}
public static int sumDigits(long n){
int sum = 0;//存儲每個位數之和
int Temp;//存儲去掉位數的整數;

while(n!=0){//判斷該整數能否取余
int remainder = (int)n%10;
sum += remainder;
Temp = (int)n/10;

}
return sum;//返回各個位數相加之和
}

}
運行後,在Eclipse中無結果,在NetBeans中出現了1、0、1、0、1應該是掛掉了的節奏,各位技術大牛求助,我自己覺得沒錯誤啊!

最佳回答:


加一行n = Temp; 即可正常輸出。不加的話就是死循環,所以無結果。

```public static int sumDigits(long n) {
int sum = 0;// 存儲每個位數之和
int Temp;// 存儲去掉位數的整數;

    while (n != 0) {// 判斷該整數能否取余
        int remainder = (int) n % 10;
        sum += remainder;
        Temp = (int) n / 10;
        n = Temp;
    }
    return sum;// 返回各個位數相加之和
}

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved