实验三:分别用for、while和do-while循环语句以及递归方法计算n!,并输出算式

书写程序如下:

package 阶乘;
import java.util.Scanner;

public class jiecheng {

public static void main(String[] args) {
  //for循环
  Scanner scanner=new Scanner(System.in);
  System.out.print("请输入n的值:");
  int n=scanner.nextInt();
  int sum=1;
  for(int i=1;i<=n;i++)
   sum*=i;
  System.out.println("用for循环输出阶乘的值:sum="+sum);
  //while循环
  System.out.print("请输入m的值:");
  int m=scanner.nextInt();
  int j=1;
  
  int total=1;
  while(j<=m)
  {total*=j;
   j++;}
  System.out.println("用while循环输出阶乘的值:total="+total);
  //do-while循环
  System.out.print("请输入t的值:");
  int t=scanner.nextInt();
  int r=1;
  int together=1;
  do
  {together*=r;
   r++;}
  while(r<=t);
  System.out.println("用do-while循环输出阶乘的值:together="+together);
  //递归方法
  System.out.print("请输入x的值:");
  int x=scanner.nextInt();
  System.out.println("用递归方法输出阶乘的值:"+Recursion(x));
 }
 public static int Recursion(int y)
 {
  if(y==0) return 1;
  else return y*Recursion(y-1);
  }
}

实验结果如图:

实验心得:

1.实验时对于输入的程序段不太了解,经过网上查询,知道了怎么输入。

2.对于递归方法去求阶乘,感觉刚开始不太理解。

3.通过本次实验,学会了写一些基础的Java程序。

原文地址:https://www.cnblogs.com/Y-CQ/p/10562042.html

时间: 2024-10-11 15:49:39

实验三:分别用for、while和do-while循环语句以及递归方法计算n!,并输出算式的相关文章

实验三:分别用for、while、和do-while循环语句以及递归方法计算n!,并输出算式

一.用while语句 二.用do-while语句 三.用for语句 四.总结 对于循环语句的使用不熟练,for循环语句屡次出错,但最后还是找到错误并将正确答案输出,while语句和do-while语句也不太熟练,最终经过和同学们的讨论得出正确的源代码,使得结果可以顺利输出.需要加强对循环语句的使用的训练. 原文地址:https://www.cnblogs.com/java199-yx/p/10596258.html

实验二 Java基础(数据/表达式、判定/循环语句)

实验二 (一)实验内容 编写简单的计算器,完成加减乘除模运算. 要求从键盘输入两个数,使用判定语句选择一种操作,计算结果后输出,然后使用判定和循环语句选择继续计算还是退出. 编写测试代码,测试验证. (二)实验要求 掌握数据的定义和表达式求解的基础知识 掌握循环和判定语句的使用 掌握迭代器类的使用 掌握单元测试和TDD(不要求用IDEA的插件,用linux下VIM编写测试代码) (三)助教验收 简单计算机器的验收 测试验收 上传到码云 (四)实验报告 在规定时间前发表博客,标题"学号 实验二 &

2017.4.20实验三:5、写一个递归函数,将给定的字符串按逆序输出。(要求逆序的字符串在主调函数中输出)

#include <iostream>using namespace std;void Invert(char arr[],int &i,char str[]) { if(arr[i]=='\0') return; else { str[i]=arr[i]; i++; Invert(arr,i,str); }}int main () { char arr[]="abcdef"; int count=0,i; char str[20]; Invert(arr,coun

实验三 、进程调度模拟程序

实验三.进程调度模拟程序 专业 网络工程   姓名 方俊晖 学号 201406114309 一.        实验目的 通过本实验可以加深对有关进程控制块.进程队列的概念的进一步理解. 二.        实验内容和要求 1.进程PCB的结构体定义 2.定义结构体 3.输入进程序列 4.排序(按到位时间) 5.输出进程运行的结果 三.        实验方法.步骤及结果测试 #include<stdio.h> #include<stdlib.h> #include<stri

实验三 进程调度模拟程序

一.实验目的 用高级语言完成一个进程调度程序,以加深对进程的概念及进程调度算法的理解.     二.实验内容和要求 设计一个有 N个进程并发执行的进程调度模拟程序. 进程调度算法:采用最高优先级优先的调度算法(即把处理机分配给优先级最高的进程)和先来先服务(若优先级相同)算法.动态优先数是指进程的优先数在创建进程时可以给定一个初始值,并且可以按一定规则修改优先数.例如:在进程获得一次CPU后就将其优先数减少1,并且进程等待的时间超过某一时限(2个时间片时间)时增加其优先数等. (1).  每个进

实验三&#160;进程调度模拟程序

实验三 进程调度模拟程序 专业:物联网工程   姓名:黄淼  学号:201306104145 一. 实验目的和要求 目的: 用高级语言完成一个进程调度程序,以加深对进程的概念及进程调度算法的理解. 实验要求 设计一个有 N(N不小于5)个进程并发执行的进程调度模拟程序. 进程调度算法:“时间片轮转法”调度算法对N个进程进行调度. 二.实验内容 完成两个算法(简单时间片轮转法.多级反馈队列调度算法)的设计.编码和调试工作,完成实验报告. 1) 每个进程有一个进程控制块(PCB)表示.进程控制块包含

实验三+158+余超勇

实验三 功能性测试用例设计(4学时) 一.实验目的 掌握黑盒测试用例设计方法 二.实验要求 (1)对被测程序进行黑盒测试用例设计. (2)运用等价类.边界值.决策表.状态图法等进行测试用例设计. (3)对手机上任意一款音乐软件进行黑盒测试实践. 三.实验内容 1.对被测程序运用不同的测试技巧进行测试用例设计,并执行测试,撰写测试小结. 要求写出测试用例表.执行情况和测试小结. 测试连接:http://www.cnblogs.com/5257yu/p/6838362.html 2.对手机上任意一款

MySQL数据库实验三:连接查询

实验三    连接查询 实验名称:连接查询(2课时) 一.实验目的 理解JOIN语句的操作和基本使用方法,掌握内连接.外连接.自身连接的概念和使用. 二.实验环境 是MS SQL SERVER 2005的中文客户端. 三.实验示例 1. 查询每个学生及其选修课程的情况 SELECT  Student.*,SC.* FROM     Student,SC WHERE  Student.Sno = SC.Sno: 2.检索至少选修课程号为C2和C4的学生学号 SELECT X.S# FROM SC

20145301&amp;20145321&amp;20145335实验三

20145301&20145321&20145335实验三 这次实验我的组员为:20145301赵嘉鑫.20145321曾子誉.20145335郝昊 实验内容详见:实验三