![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java练习
淮也
这个作者很懒,什么都没留下…
展开
-
Java练习24:升序数组插入后仍为升序
有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。/* * 有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。 * x如果比最大的数大,则直接插入最大的数之后 * 遍历数组到a[i],发现比x大,则从a[i]到a[a.length-1]整体后移,空出a[i] */public class Test9 { public static void main(String[] args) { Scanner cin=new Scanner(System原创 2021-10-24 23:41:30 · 365 阅读 · 1 评论 -
Java练习23:递归求数组a[]中最小值
1.明确要干嘛:求数组a[]中最小值2.递归结束条件:x=a.length-1;//扫描到数组中最后一个数3.缩小参数范围:a[x]——>a[x-1]——>a[x-2]——>……——>a[0]找到等价的关系式:Math.min(a[x], min(a,x+1))以a[3]为例k=min(a,0)0≠2,min(a[0],min(a,1))1≠2,min(a,1))=>min(a[1],min(a,2))2=2,min(a[1],..原创 2021-10-10 23:47:37 · 1080 阅读 · 1 评论 -
Java练习22:递归求1+2+3+…+n的和
1.明确要干嘛:求1+…+n的和2.递归结束条件:n=1时,最后结果再加1n=2时,最后结果再加33.缩小参数范围:n——>n-1——>n-2——>……——>2找到等价的关系式:sum(n)=sum(n-1)+n;package com.qiqi.test3;import java.util.Scanner;/* * 递归求:1+2+3+…+n的和 */public class Test2 { public static void原创 2021-10-10 23:26:58 · 7118 阅读 · 0 评论 -
Java练习21:递归方法求n!
递归:(1)明确要干什么例:求n!的阶乘//计算n的阶乘int f(int n){}(2)找到递归的结束条件要找出参数为什么时,递归结束,之后可以直接把结果返回n=1时,1!=1//计算n的阶乘(n>0) public static int f(int n) { if(n==1) { return 1; }n=2时,2!=2*1因此把n=1和n=2的情况合并//计算n的阶乘(n>0) public static int原创 2021-09-21 17:07:16 · 5769 阅读 · 1 评论 -
Java练习20:求1+2!+3!+...+20!的和
public class Test10 { public static void main(String[] args) { int i,j,s; s=0; for(i=1;i<=20;i++) { s=s+i*i; } System.out.println(s); }}原创 2021-09-21 16:52:14 · 2327 阅读 · 1 评论 -
Java练习18:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和
规律:n>=2时,分子和分母都遵循f(n)=f(n-1)+f(n-2)public class Test9 { public static void main(String[] args) { double n,x,y,s; x=1;//分母 y=2;//分子 s=0;//和 for(n=0;n<20;n++) { s=s+y/x; y=x+y;//新的分子:之前的分母+之前的分子 x=y-x;//新的分母:现在的分子-之前的分母 }原创 2021-09-21 16:51:12 · 223 阅读 · 0 评论 -
Java练习17:输出9*9乘法口诀
package com.qiqi.test1;/* * 输出9*9口诀 */public class Test7 { public static void main(String[] args) { int i,j,n; for(i=1;i<=9;i++) { for(j=1;j<=i;j++) { System.out.print(i+"*"+j+"="+i*j+" "); } System.out.println(); } }}...原创 2021-09-21 16:47:56 · 295 阅读 · 0 评论 -
Java练习2:水仙花数
package com.qiqi.test;/* * 分析: * 1.遍历所有三位数,并将其每个位数分解 * 2.判断是否位数立方之和是否等于数值 * 3.输出水仙花数的结果 */public class Test02 { public static void main(String[] args) { int i,a,b,c; for(i=100;i<1000;i++) { a=i%10;//个位 b=i/10%10;//十位 c=i/100;//百.原创 2021-09-21 16:45:28 · 71 阅读 · 0 评论 -
Java练习3:将一个正整数分解质因数
例如:输入90,打印出90=2*3*3*5package com.qiqi.test;import java.util.Scanner;public class Test04 { public static void main(String[] args) { int x,i,t,j,s; s=1; Scanner cin=new Scanner(System.in); System.out.println("请输入一个正整数:"); x=cin.nextInt()原创 2021-09-20 14:28:16 · 108 阅读 · 0 评论 -
Java练习16:输入三个整数x,y,z,请把这三个数由小到大输出
package com.qiqi.test1;import java.util.Scanner;/* * 输入三个整数x,y,z,把这三个数由小到大输出 */public class Test6 { public static void main(String[] args) { Scanner cin=new Scanner(System.in); int i,j,t; int[] a=new int[3]; System.out.println("请输入三个整数:.原创 2021-09-21 16:41:55 · 953 阅读 · 0 评论 -
Java练习15:输入某年某月某日,判断这一天是这一年的第几天?
package com.qiqi.test1;import java.util.Scanner;/* * 分析: * 1.从键盘获取日期的数据并存储在数组中 * 2.判断是否是闰年 * 3.计算本日期是本年的第几天并输出结果 */public class Test5 { public static void main(String[] args) { Scanner cin=new Scanner(System.in); int[] a=new int[3]; int i,.原创 2021-09-20 14:41:47 · 2473 阅读 · 0 评论 -
Java练习14:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?
package com.qiqi.test1;/* * 一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少? */public class Test4 { public static void main(String[] args) { int i; double a,b; for(i=0;i<100000;i++) { a=Math.sqrt(i+100); b=Math.sqrt(i+268); if(((int.原创 2021-09-20 14:41:05 · 516 阅读 · 0 评论 -
Java练习13:企业发放的奖金根据利润提成
利润低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成从键盘输入当月利润I,求应发放奖金总数?package com.qiqi.test1;import java.util.原创 2021-09-20 14:39:45 · 3857 阅读 · 1 评论 -
Java练习10:输入两个正整数m和n,求其最大公约数和最小公倍数
辗转相除法:package com.qiqi.test;import java.util.Scanner;/* * 输入两个正整数m和n,求其最大公约数和最小公倍数 * 辗转相除法: * 1.用大数m/小数n得第一个余数 * 2.余数为0则n为最大公约数 * 3.余数不为0则把n的值给m,余数的值给n * 4.再次相除直到余数为0,此时除数是最大公约数 * 5.最小公倍数=m*n/最大公约数 */public class Test10 { public static vo原创 2021-09-20 14:35:32 · 8254 阅读 · 1 评论