package P20_2;
import java.util.*;class F
{
int fun(int n)
{
Scanner in = new Scanner(System.in);
n = in.nextInt();
while((char)n != '#')
{
break;
}
return (n * fun(n));
}
}public class p20_2
{
public static void main(String[] args)
{
int n;
F f = new F();
Scanner in = new Scanner(System.in);
System.out.println("这个程序可以多次把数相乘");
System.out.println("输入一个整数后按回车键,可继续输入要乘的数,以#结束计算");
n = in.nextInt();
System.out.println("结果为:" +f.fun(n));
}
}请帮忙一下,谢谢了
import java.util.*;class F
{
int fun(int n)
{
Scanner in = new Scanner(System.in);
n = in.nextInt();
while((char)n != '#')
{
break;
}
return (n * fun(n));
}
}public class p20_2
{
public static void main(String[] args)
{
int n;
F f = new F();
Scanner in = new Scanner(System.in);
System.out.println("这个程序可以多次把数相乘");
System.out.println("输入一个整数后按回车键,可继续输入要乘的数,以#结束计算");
n = in.nextInt();
System.out.println("结果为:" +f.fun(n));
}
}请帮忙一下,谢谢了
你这样实现吧!!!就行了,简单,明了
import java.util.*;
public class F
{
public static void main(String[] args)
{System.out.println("Enter a integer:");
Scanner in = new Scanner(System.in); //输入一个数;
int n =in.nextInt();
System.out.println("Factorial of"+ n +"is"+factorial(n)); //调用方法输出
}
public static long factorial(int n) //递归实现求阶乘
{
if(n==0)
return 1;
else
return n*factorial(n-1);
}}
import java.util.*; class F
{public static long factorial(int n) //递归实现求阶乘
{
if(n==0)
return 1;
else
return n*factorial(n-1);
}
}
public class p20_2
{
public static void main(String[] args)
{
System.out.println("Enter a integer:");
Scanner in = new Scanner(System.in); //输入一个数;
int n =in.nextInt();
long m=new F().factorial(n);//调用方法输出
System.out.println("Factorial of"+ n +"is"+m);
}
}
哦,不好意思,这个问题发的比较匆忙,所以没写我的纠结所在,我用eclipse编译运行的,能运行,输入数字的时候能“回车数字回车数字的下去.....”但是,但是到#回车后就不再继续运行了,我也觉得我的递归函数有些别扭,但不知道怎么改请指教,就是输入连续输入多个整数,然后连乘。
import java.util.*;class F {
int fun(int n) {
Scanner in = new Scanner(System.in);
if(in.hasNextInt()) {
int m = in.nextInt();
return fun(n * m);
} else {
return n;
}
} public static void main(String[] args) {
int n;
F f = new F();
Scanner in = new Scanner(System.in); System.out.println("这个程序可以多次把数相乘");
System.out.println("输入一个整数后按回车键,可继续输入要乘的数,以#结束计算");
n = in.nextInt();
System.out.println("结果为:" + f.fun(n));
}
}