/*以遞迴設計函數,輸入一個正整數值(不含0),傳回該數值是幾位數(# of digits).
例如,輸入4395,則函數傳回4*/
import java.util.*;
public class Main {
public static void main(String args[])
{
String test;
System.out.print("輸入一個正整數值(不含0):");
Scanner scanner = new Scanner(System.in);
test = scanner.next();
int i=Integer.parseInt(test);
int j=0;
System.out.print("傳回:"+digits(i,j)+"位數");
}
public static int digits(int m,int n)//利用兩個數字去觀察函數呼叫
{
if(m != 0 )
{
n++;
return digits(m/10, n);//M/10之後回傳,N++代表一位數
}
else
{
return n;
}
}
}
文章標籤
全站熱搜

import java.util.Scanner; public class q100_22 { public static void main(String args[]) { Scanner scn=new Scanner(System.in); System.out.println("請輸入一組數字(需為正數)"); long number=scn.nextLong(); long digit=0; System.out.println("您輸入的是"+digt(number,digit)+"位數"); } public static long digt(long num,long count) { if(num!=0) { num=(num-num%10)/10; count=count+1; return digt(num,count); } else{ return count; } } }