使用java程序接收一个小于10的整数n,计算并输出阶乘.
展开全部
你好,可以用递归方法实现,以下是实现代码:
public class Test {
/**
* @param args
*/
public static void main(String[] args) {
int n = 0;
try{
// 接收控制台传递参数,并将转化为整数
n = Integer.parseInt(args[0]);
}catch(Exception ex)
{
ex.printStackTrace();
System.out.println("请输入整数!");
}
// 创建对象
Test test = new Test();
// 调用递归方法,计算n的阶层
int value = test.f(n);
// 输出结果
System.out.println(value);
}
/**
* 自定义递归方法,返回f(n) * f(n-1)
* @param n
* @return
*/
private int f(int n)
{
// 当n不等于1时
if(n != 1)
{
// 递归调用
return f(n) * f(n-1);
}
// 当n等于1时
else if(n == 1)
{
return 1;
}
// 其他情况返回0
return 0;
}
}
public class Test {
/**
* @param args
*/
public static void main(String[] args) {
int n = 0;
try{
// 接收控制台传递参数,并将转化为整数
n = Integer.parseInt(args[0]);
}catch(Exception ex)
{
ex.printStackTrace();
System.out.println("请输入整数!");
}
// 创建对象
Test test = new Test();
// 调用递归方法,计算n的阶层
int value = test.f(n);
// 输出结果
System.out.println(value);
}
/**
* 自定义递归方法,返回f(n) * f(n-1)
* @param n
* @return
*/
private int f(int n)
{
// 当n不等于1时
if(n != 1)
{
// 递归调用
return f(n) * f(n-1);
}
// 当n等于1时
else if(n == 1)
{
return 1;
}
// 其他情况返回0
return 0;
}
}
展开全部
我的注释蛮清楚的,希望对你有助!
import java.util.Random; //引入包.
class TestR
{
public static void main(String[] args)
{
Random r=new Random(); //创建Random 对象r.
int n=r.nextInt(10); //产生小于10 的整数给 n保存.
System.out.println("n="+n); //打印随机产生的整数 n.
System.out.println("n 的阶乘= "+recursion(n)); //打印阶乘.
}
public static int recursion(int n) //定义函数递归,以求阶乘.
{
if (n==1 || n==0)
{
return 1;
}else
return n*recursion(n-1);
}
}
import java.util.Random; //引入包.
class TestR
{
public static void main(String[] args)
{
Random r=new Random(); //创建Random 对象r.
int n=r.nextInt(10); //产生小于10 的整数给 n保存.
System.out.println("n="+n); //打印随机产生的整数 n.
System.out.println("n 的阶乘= "+recursion(n)); //打印阶乘.
}
public static int recursion(int n) //定义函数递归,以求阶乘.
{
if (n==1 || n==0)
{
return 1;
}else
return n*recursion(n-1);
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
import java.util.Scanner;
public class jiechen {
public static void main(String []args){
Scanner scanner=new Scanner(System.in);
System.out.println("请输入您要计算的数字");
int a=scanner.nextInt();
int jiecheng=1;
for (int i = 2; i <=a; i++) {
jiecheng=i*jiecheng;
}
System.out.println(jiecheng);
}
}
public class jiechen {
public static void main(String []args){
Scanner scanner=new Scanner(System.in);
System.out.println("请输入您要计算的数字");
int a=scanner.nextInt();
int jiecheng=1;
for (int i = 2; i <=a; i++) {
jiecheng=i*jiecheng;
}
System.out.println(jiecheng);
}
}
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |