用递归实现控制台输入数字的阶乘
2013-12-28 00:17
295 查看
晚上群里聊天,有学生在群里问如何用递归实现控制台输入数字的阶乘,这分两步:
1.如何读取控制台输入的数字,我用了6.0后的Scnner类的nextInt()方法;
2.如何实现阶乘,用了递归实现,如果是1直接返回 1,如果不为1则 return x*jiecheng(x-1);
当然这个只是实现,后面可以加上很多判断的,我偷懒了,功能实现就算了
package test.hbinjie;
import java.util.Scanner;
public class DiguiTest {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("请输入一个数字:");
int s=sc.nextInt();
System.out.print(jiecheng(s));
}
public static long jiecheng(int x){
if(x==1){
return 1;
}
else{
return x*jiecheng(x-1);
}
}
}
1.如何读取控制台输入的数字,我用了6.0后的Scnner类的nextInt()方法;
2.如何实现阶乘,用了递归实现,如果是1直接返回 1,如果不为1则 return x*jiecheng(x-1);
当然这个只是实现,后面可以加上很多判断的,我偷懒了,功能实现就算了
package test.hbinjie;
import java.util.Scanner;
public class DiguiTest {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("请输入一个数字:");
int s=sc.nextInt();
System.out.print(jiecheng(s));
}
public static long jiecheng(int x){
if(x==1){
return 1;
}
else{
return x*jiecheng(x-1);
}
}
}
相关文章推荐
- @V@ java代码笔记2010-06-12:java控制台输入各类型类实现;以及判断输入字符串里面是否有数字的两种方法:方法1:转换成字符数组;方法2:正则表达式。
- 不用递归方法实现斐波那契数列,输入数字n 将会输出该数列的第n个数字
- java实现在控制台输入亿以内的数字转换成汉语读法
- 递归实现DiGitSum(n),输入一个人负整数,返回它的个数字之和
- 写一个递归函数,输入一个非整数,返回组成它的数字之和。编写逆置函数,用递归实现,不能用C库函数。
- 自己写的关于实现数字阶乘的方法,一个采用普通方法,一个是采用递归
- 输入一个非负整数返回组成它的数字之和,用递归实现
- 使用递归实现接收用户输入的正整数,输出该数的阶乘
- 【c语言】递归实现,输入一个非负整数,返回组成它的数字之和
- 使用递归实现DigitSum()函数,输入一个非负整数,返回组成它的数字之和
- 用Java 编一段代码,实现在控制台输入一组数字后,排序后在控制台输出
- 不用递归方法实现斐波那契数列,输入数字n 将会输出该数列的第n个数字
- IO流_递归求阶乘的代码实现及内存图解
- 在控制台中输入字母和数字混合的字符串,回车后把数字和字母分开显示, 并把数字部分保存在D:\numbers.txt,把字母部分保存在D:\letters.txt。
- 汇编实现输入字符串以十进制数字输出字符个数
- 编程题:用递归调用实现,求N!(!阶乘)。
- Android:实现 代码控制 EditText 只能输入固定长度的数字
- 组合数求解公式为C……。编程序输入m,n,输出组合数,要求用自定义函数实现求阶乘
- Linux-C基础知识学习:C语言作业-从键盘输入一行字符,统计其中有多少个字母, 数字,空格(用数组实现,gets)。
- 控制台绘制登陆框(四) 实现简单的字符输入