java单循环 比较得分_java 计算1+2!+3!+.....+n!分别用单循环、while双重循环、do/while双重循环...

展开全部

单循环62616964757a686964616fe78988e69d8331333332616530实现-----------------------华-----丽-----丽-----的-----分-----割-----线-------------------------------------import java.util.Scanner;

public class Test {

/**

* @param args

*/

public static void main(String[] args) {

// TODO Auto-generated method stub

Scanner input = new Scanner(System.in);

System.out.print("请输入一个整数:");

int n = input.nextInt(); //获得n值

int outNeed = n;         //外层要循环 outNeed 次

int outNow = 1;          //正在进行   外层 第 outNow 次 循环

int inNeed = outNow;     //当前(外层 第 outNow 次循环时)内层需要循环 inNeed 次

int inNow = 1;           //正在进行(外层 第 outNow 次循环)内层 第 inNow 次循环

int sum = 0;             //外层前 outNeed 层 循环完毕后的和

int k = 1;               //(外层前 outNeed 层) 内层第 inNow 循环完毕的积

String str = "";

while(true){ //不知道要循环多少次,则设为true

if(outNow <= outNeed){  //如果当前外层未循环完

if(inNow <= inNeed){   //如果当前内层的内层未循环完

//下一行可以解注释

//System.out.println("外层第 " + outNow + " 层,内层第 " + inNow + " 层循环---------------");

k *= inNow;

inNow++;

continue;

}else{

sum += k;

if(outNow >= 2){

str += " + " + outNow + "!";

}else{

str += outNow + "!";

}

//下一行可以解注释

//System.out.println("外层第 " + outNow + " 层循环结束!\n   sum = " + sum);

//重置

inNow = 1;

k = 1;

outNow++;

inNeed++;

continue;

}

}else{

break;

}

}

System.out.println(str + " = " + sum);

}

}

while双循环实现-----------------------华-----丽-----丽-----的-----分-----割-----线-------------------------------import java.util.Scanner;

public class Test2 {

/**

* @param args

*/

public static void main(String[] args) {

// TODO Auto-generated method stub

Scanner input = new Scanner(System.in);

System.out.print("请输入一个整数:");

int n = input.nextInt(); //获得n值

int outNeed = n;         //外层要循环 outNeed 次

int outNow = 1;          //正在进行   外层 第 outNow 次 循环

int inNeed = outNow;     //当前(外层 第 outNow 次循环时)内层需要循环 inNeed 次

int inNow = 1;           //正在进行(外层 第 outNow 次循环)内层 第 inNow 次循环

int sum = 0;             //外层前 outNeed 层 循环完毕后的和

int k = 1;               //(外层前 outNeed 层) 内层第 inNow 循环完毕的积

String str = "";

while(outNow <= outNeed){ //如果当前外层未循环完

while(inNow <= inNeed){  //如果当前内层的内层未循环完

//下一行可以解注释

//System.out.println("外层第 " + outNow + " 层,内层第 " + inNow + " 层循环---------------");

k *= inNow;

inNow++;

}

sum += k;

if(outNow >= 2){

str += " + " + outNow + "!";

}else{

str += outNow + "!";

}

//下一行可以解注释

//System.out.println("外层第 " + outNow + " 层循环结束!\n   sum = " + sum);

//重置

inNow = 1;

k = 1;

outNow++;

inNeed++;

}

System.out.println(str + " = " + sum);

}

}

do-while双循环实现-----------------------华-----丽-----丽-----的-----分-----割-----线---------------------------import java.util.Scanner;

public class Test3 {

/**

* @param args

*/

public static void main(String[] args) {

// TODO Auto-generated method stub

Scanner input = new Scanner(System.in);

System.out.print("请输入一个整数:");

int n = input.nextInt(); //获得n值

int outNeed = n;         //外层要循环 outNeed 次

int outNow = 1;          //正在进行   外层 第 outNow 次 循环

int inNeed = outNow;     //当前(外层 第 outNow 次循环时)内层需要循环 inNeed 次

int inNow = 1;           //正在进行(外层 第 outNow 次循环)内层 第 inNow 次循环

int sum = 0;             //外层前 outNeed 层 循环完毕后的和

int k = 1;               //(外层前 outNeed 层) 内层第 inNow 循环完毕的积

String str = "";

do{

do{

//下一行可以解注释

//System.out.println("外层第 " + outNow + " 层,内层第 " + inNow + " 层循环---------------");

k *= inNow;

inNow++;

}while(inNow <= inNeed);//如果当前内层的内层未循环完

sum += k;

if(outNow >= 2){

str += " + " + outNow + "!";

}else{

str += outNow + "!";

}

//下一行可以解注释

//System.out.println("外层第 " + outNow + " 层循环结束!\n   sum = " + sum);

//重置

inNow = 1;

k = 1;

outNow++;

inNeed++;

}while(outNow <= outNeed);//如果当前外层未循环完

System.out.println(str + " = " + sum);

}

}

附:

测试结果(已把代码中可以解注释的地方解注释过):

2cdf19e73f48bfc4e0e49310a8b3dc8d.png

****************************************希望能够帮助到你!*********************************************

为帮楼主尽快解决问题,写到现在困死了,

如果我的回答对你有帮助,

别忘了点击我的回答下方【选为满意答案】按钮。

谢谢!


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部