多重循环 方法和递归练习题+参考答案
来源:互联网 发布:winscp mac版下载 编辑:程序博客网 时间:2024/05/21 10:40
1.判断1-100之间有多少个素数并输出所有素数。
(将判断一个数是否是素数的功能提取成方法,在循环中直接调用即可)
public static void main(String[] args) {//循环判断1-100有多少素数int sum=0;for (int i = 2; i <= 100; i++) {if(isSs(i)){sum++;}}System.out.println("一共有"+sum+"个素数");}// 写一个方法实现一个判断一个数是否是素数的功能// 是素数就返回true 不是我就返回falsepublic static boolean isSs(int n) {// 实现功能// 判断素数的方法boolean flag = true;// 先认为就是素数for (int i = 2; i < n; i++) {if(n%i==0){flag = false;// 证明他不是素数break;}}if(flag){System.out.println(n);}return flag;}
2.定义方法:打印指定行和列的矩形
//打印指定行和列的矩形public static void printJx(int h, int l) {for (int i = 1; i <= h; i++) {for (int j = 1; j <= l; j++) {System.out.print("★");}System.out.println();}}public static void main(String[] args) {printJx(5, 20);}
3.编写Java程序,实现接收用户输入的正整数,输出该数的阶乘。要求:限制输入的数据在1-10之间,无效数据进行提示,结束程序。要求使用递归和循环分别实现。
输出结果如:4!=1*2*3*4=24
public static void Jc(){Scanner sc = new Scanner(System.in);System.out.println("请输入你要计算的阶乘:");int k = sc.nextInt();if(k<1||k>10){System.out.println("无效输入");return;}else{String s =""; //1*2*3*4...for(int i=1;i<=k;i++){if(i==k){s+=i;}else{s+=i+"*";}}int r = dg(k);System.out.println(k+"!="+s+"="+r);}}public static int dg(int n){if(n==1){return 1;}else{return n*dg(n-1);}}}public static void main(String[] args) {Jc();}
4.编写递归算法程序:斐波那契数列的第40位数是多少。(递归)public class Zuoye3 {public static long fbn(int n){if(n==0){return 0;}else if(n==1){return 1;}else if(n>1){return fbn(n-1)+fbn(n-2);}else{return -1;}}public static void main(String[] args) {long a=fbn(40);System.out.println(a);}}5.使用递归求阶层
public class DgDemo {public static long dg(int a){if(a==1){return 1;}else{return a*dg(a-1);}}public static void main(String[]args){long b=dg(5);System.out.println(b);}}6.输入三个班,每班10个学生的成绩,求和并求平均分
import java.util.Scanner;public class Zuoye4 {public static void main(String[] args) {Scanner sc = new Scanner(System.in);int sum = 0;for (int i = 1; i <= 3; i++) {System.out.println("这是第" + i + "个班");for (int j = 1; j <= 10; j++) {System.out.println("这是第" + i + "个班第" + j + "个同学的成绩");double a = sc.nextDouble();sum += a;}System.out.println("总和是" + sum);System.out.println("平均数是" + sum / 30);}}}
阅读全文
0 0
- 多重循环 方法和递归练习题+参考答案
- 多重循环+方法+递归(新手作业)
- 多重循环和数组
- 多重循环和数组
- 二分查找的循环和递归方法
- java中的递归方法和for循环
- 利用递归实现不定重数多重循环
- 利用递归来模拟多重嵌套循环.
- MSSQL语句练习题参考答案
- 跳出多重循环的方法
- 练习题 No.10 多重部分和问题
- 递归和循环
- 数据结构-循环和递归
- 递归和循环
- 尾递归和循环
- 关于递归和循环
- 递归和循环
- 递归和循环
- 常用Linux指令之Chmod指令
- QT窗口操作函数(窗口最大化,全屏,隐藏最大化最小化按钮)
- 455. Assign Cookies
- BaseAdapter
- 二叉树的基本实现(一)
- 多重循环 方法和递归练习题+参考答案
- js实现简单的计算器
- 汉诺塔
- Java数据采集-3.抓取开源中国新闻(新版)
- SAR
- Day 1
- asp.net ibaitsNet初始化SqlMap.config
- bzoj 3696 化合物 解题报告
- POJ3176 解题报告