按照你的要求编写的求阶乘的Java程序如下
import javautilScanner;public class DDD {
public static void main(String[] args) {
Systemoutprint("请输入一个正整数(1~10)");
Scanner sc=new Scanner(Systemin);
int n=scnextInt();
if(n<1 || n>10){
Systemoutprintln("无效数据!");
return;
}
Systemoutprint(n+"!=");
int result=1;
for(int i=1;i<=n;i++){
result=resulti;
if(i==n)
Systemoutprint(i+"=");
else
Systemoutprint(i+"x");
}
Systemoutprint(result);
}
}
运行结果
请输入一个正整数(1~10)4
4!=1x2x3x4=24
Java编程:写出求n的阶乘的方法,并算出1到7的阶乘的和方法:
先编写求阶乘的方法,再通过for循环计算1到7的阶乘的和。
具体实现:
public class Test {public static void main(String[] args) {
int sum = 0; //保存阶乘的和
for(int i = 1;i<=7;i++)
sum += factorial(i);
Systemoutprintln(sum);
}
// 求阶乘方法,传入一个整数,返回这个整数的阶乘
public static int factorial(int num) {
int result = 1;
for(int i = 1;i<=num;i++){
result = i;
}
return result;
}
}
用Java求键盘输入的数的阶乘n。(递归算法)packagejiecheng; importjavautil; //导入javautil包中的所有类classrep{ publiclongrep(intn){ longi=0; if(n==0||n==1) i=1;
elsi=nrep(n-1) returni; } } publicclassJie { publicstaticvoidmain(String[] args) { intn; //此处定义要输入的数Scanner s = newScanner(Systemin); //以下三行用于n的值得输入Systemoutprint( "请输入一个整数:"); n = snextInt(); rep f= newrep(); Systemoutprintln(n+"!="+frep(n)); } }
Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。
发展历程:20世纪90年代,硬件领域出现了单片式计算机系统,这种价格低廉的系统一出现就立即引起了自动控制领域人员的注意,因为使用它可以大幅度提升消费类电子产品(如电视机顶盒、面包烤箱、移动电话等)的智能化程度。
Sun公司为了抢占市场先机,在1991年成立了一个称为Green的项目小组,帕特里克、詹姆斯·高斯林、麦克·舍林丹和其他几个工程师一起组成的工作小组在加利福尼亚州门洛帕克市沙丘路的一个小工作室里面研究开发新技术,专攻计算机在家电产品上的嵌入式应用。
DecimalFormat precisionTwo=new DecimalFormat("000");
JTextArea outputTextArea=new JTextArea(11,20);
int sum=1;
for(int i=1;i<=5;i++)
{sum=sumi;
outputTextAreaappend(i+"\t"+precisionTwoformat(sum)+"\n");
}
JOptionPaneshowMessageDialog(null, outputTextArea,"Count interest",JOptionPanePLAIN_MESSAGE);
楼主这个程序错的一塌糊涂
都错在基础知识上。
稍等一下,我帮你改,再额外给你一个求阶乘的方法
import javautilScanner;
import javamathBigInteger;
public class Outer {
public static void main(String[] args) {
int n;
//用dowhile循环 当输入为0时,退出
do {
//从控制台获取一整数(包括20)
n = new Scanner(Systemin)nextInt();
//把int转化成BigInteger类型
BigInteger result = BigIntegervalueOf(1);
//利用循环求出n!
for(int i = 2; i <= n; i++) {
BigInteger b1 = BigIntegervalueOf(i);
result = resultmultiply(b1);
}
Systemoutprintln(result);
} while(n != 0);
}
}
方法二:用递归
import javautilScanner;
public class Test{
public static void main(String[] args) {
int input = new Scanner(Systemin)nextInt();
int result = DiGui(input);
Systemoutprintln(result);
}
//用递归求阶乘
public static int DiGui(int n) {
if(n == 1) {
return 1;
}
return n DiGui(n - 1);
}
}
方法和分析见下文:
分析
1、确定基本要求,应作为方法的限定条件或特殊情况处理
(1)规定:0!=1
(2)规定:n!中n非负
2、确定逻辑:
阶乘是比较适合递归的思路,因为n!=n(n-1)!,直到求解1!作为结束
代码(因为不太熟悉java,可能还需要题主进行微调)
long Factorials(int n)
{
if(n<0) return -1;//主要为了表示错误,题主可以自定义
if(n==1||n==0) return 1;//0!是特殊约定,1!是作为递归的结束
else return nFactorials(n-1);//进行递归,求解阶乘结果
}
java里1到10的阶乘相加编程方法如下:
public class Factorial{ //类
public static void main(String [] args){ //主方法
int a=1; //定义一个变量a
int sum=0; //定义一个变量sum,把和存放在sum里
for(int i=1;i<11;i++){ //做1-11循环
a=1; //每次a都从1开始
for(int j=1;j<=i;j++){ //求每个数的阶乘
a=aj;
}
sum=a+sum; //每个数的阶乘求好后都加入sum
}
Systemoutprintln(sum); //输出和sum
}
}
Java是一种可以撰写跨平台应用程序的面向对象的程序设计语言。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。
package com;
import javautilScanner;
public class Help {
public static void main(String[] args) {
Systemoutprintln("请输入一个一个整数:");
Scanner input=new Scanner(Systemin);
int a=inputnextInt();
int result=jie(a);
Systemoutprintln("结果是:"+result);
}
private static int jie(int n){
int result=1;
if(n==0){
return 1;
}else {
for(int i=1;i<=n;i++){
result=i;
}
return result;
}
}
}
以上就是关于编写Java程序,实现接受用户输入的正整数,输出该数的阶乘。例如,输全部的内容,包括:编写Java程序,实现接受用户输入的正整数,输出该数的阶乘。例如,输、Java编程:写出求n的阶乘的方法,并算出1到7的阶乘的和、在java中,用递归方法计算n的阶乘怎么输入等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)