Java
parkour1026
The only way to do great work is to love what you do.
展开
-
Java50道经典习题-程序43 求奇数个数
题目:求0—7所能组成的奇数个数,奇数中不包含重复数字。public class Prog43 { public static void main(String[] args) { //0-7能组成的所有不重复的数的最大值是76543210 //0-76543210中所有的奇数个数为76543210/2 String[] s=new ...原创 2018-09-07 14:08:48 · 864 阅读 · 2 评论 -
Java50道经典习题-程序42 求数字
题目:809*??=800*??+9*??+1其中??代表两位数,若有这样得数,求??代表的两位数public class Prog42{ public static void main(String[] args){ int n = 0; boolean flag = false; for(int i=10;i<100;i++...原创 2018-09-07 14:08:36 · 230 阅读 · 0 评论 -
Java50道经典习题-程序41 猴子分桃
题目:海滩上有一堆桃子,五只猴子来分。第一只猴子把这堆桃子凭据分为五份,多了一个,这只猴子把多的一个扔入海中,拿走了一份。第二只猴子把剩下的桃子又平均分成五份,又多了一个,它同样把多的一个扔入海中,拿走了一份,第三、第四、第五只猴子都是这样做的,问海滩上原来最少有多少个桃子?分析:求最少的桃子数,则第五个猴子分桃时,手上一共有6个桃利用递归法可求得最初的桃数public class P...原创 2018-09-07 14:08:18 · 452 阅读 · 0 评论 -
Java50道经典习题-程序40 字符串排序
题目:根据字符串内字符的ASCII码值对字符串数组进行排序。分析:字符串用ASCII码比较大小,规则是:1、比较首字母的ASCII码大小2、若是前面的字母相同,则比较之后的字母的ASCII码值3、若是一个字符串从首字母开始包含另一个字符串,则认为字符串长度较长的大;例 :ab > a备注:Java中String类有一个compareTo方法,该方法返回一个int类型的数据。其比较...原创 2018-09-07 14:08:04 · 898 阅读 · 0 评论 -
Java50道经典习题-程序39 分数累加
题目:编写一个函数,输入n为偶数时,调用函数求1/2+1/4+...+1/n,当输入n为奇数时,调用函数1/1+1/3+...+1/nimport java.util.Scanner;public class Prog39 { public static void main(String[] args) { System.out.println("请输入一个正整...原创 2018-09-07 14:07:48 · 400 阅读 · 0 评论 -
Java50道经典习题-程序38 求字符串长度
题目:写一个函数,求一个字符串的长度,在main函数中输入字符串,并输出其长度。import java.util.Scanner;public class Prog38 { public static void main(String[] args) { System.out.println("请输入一个字符串:"); Scanner scan=...原创 2018-09-07 14:07:33 · 617 阅读 · 1 评论 -
Java50道经典习题-程序37 报数
题目:有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。分析:最后留下的是第n号那位import java.util.Scanner;public class Prog37{ public static void main(String[] args){ System.out.println("...原创 2018-09-07 14:07:15 · 336 阅读 · 0 评论 -
Java50道经典习题-程序35 最大最小交换
题目:输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。分析: 例如输入6 4 8 3 9 7 交换后输出9 4 8 7 6 3import java.util.Arrays;import java.util.Scanner;public class Prog35 { public static void main(String[] args)...原创 2018-09-07 14:01:48 · 803 阅读 · 0 评论 -
Java50道经典习题-程序34 三个数排序
题目:输入3个数a,b,c,按大小顺序输出。import java.util.Scanner;public class Prog34 { public static void main(String[] args) { //键盘录入三个数 Scanner scan=new Scanner(System.in); System.out...原创 2018-09-07 14:01:28 · 280 阅读 · 0 评论 -
Java50道经典习题-程序33 杨辉三角
题目:打印出杨辉三角形(要求打印出10行如下图)分析: 1 1 1 1 2 1 1 3 3 1 1 4 6 4 11 5 10 10 5 1%4d代表在4个空格内打印数字。我们选择4,因为我们知道10行杨辉三角形的最大数字的最大位数是3位数。public class Prog33 { public static void main(S...原创 2018-09-06 08:02:16 · 538 阅读 · 0 评论 -
Java50道经典习题-程序32 左移右移
题目:取一个整数a从右端开始的4~7位。分析:比如取123456789从右端开始的4~7位即:3456(1)先使a右移4位。(2)设置一个低4位全为1,其余全为0的数。可用~(~0<<4)(3)将上面二者进行&运算。import java.util.Scanner;;public class Prog32{ public static void ma...原创 2018-09-06 08:02:00 · 634 阅读 · 0 评论 -
Java50道经典习题-程序31 数组逆序
题目:将一个数组逆序输出。分析:用第一个与最后一个交换。public class Prog31 { public static void main(String[] args) { //遍历原始数组 System.out.println("遍历原始数组为:"); int[] array= {1,2,3,4,5}; f...原创 2018-09-06 08:01:47 · 331 阅读 · 0 评论 -
Java50道经典习题-程序44 偶数的素数和
题目:一个偶数总能表示为两个素数之和。分析:一个偶数可能会有不止一对两个素数之和的情况 例如:20=3+17 20=7+13import java.util.Scanner;public class Prog44 { public static void main(String[] args) { System.out.print("请输入一个偶数:"...原创 2018-09-08 09:14:31 · 427 阅读 · 0 评论 -
Java50道经典习题-程序45 被9整除
题目:判断一个素数能被几个9整除分析:素数只能被1和其本身整除,不能被9整除,所以返回falseimport java.util.Scanner;public class Prog45{ public static void main(String[] args){ System.out.print("请输入一个素数:"); Scanner sc...原创 2018-09-08 09:14:45 · 486 阅读 · 0 评论 -
Java50道经典习题-程序46 字符串连接
题目:编写一个两个字符串连接的程序import java.util.Scanner;public class Prog46 { public static void main(String[] args) { System.out.println("请输入第一个字符串:"); Scanner scan=new Scanner(System.in);...原创 2018-09-08 09:14:57 · 676 阅读 · 0 评论 -
Math类的三个方法比较: floor() ceil() round()
public class Test { public static void main(String[] args) { double d1 = 3.4, d2 = 3.6; //正数 double d3 = -3.4, d4 = -3.6; //负数 float f1 = 4.4F, f2 = 4.6F; //正...原创 2019-04-29 15:05:08 · 709 阅读 · 0 评论 -
观察者设计模式
在网上找了很久没看见有讲的很清楚的,我自己花了一点时间终于弄懂了,现在想用最通俗易懂的方法将观察者设计模式讲明白观察者设计模式类似于发布订阅模式,所以我准备以订阅用户定义公众号来举例说明首先创建公众号接口类package 观察者模式;//公众号接口interface WechatInterface { //添加用户 void addUser(User user);...原创 2019-04-06 02:14:58 · 161 阅读 · 0 评论 -
Java50道经典习题-程序36 移动位置
题目:有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面的m个数分析:比如有4个数n=4;1 2 3 4各个数向后移动2位m=2,变为 1 2 3 4将最后m个数,即将最后2个数变成前面的2个数变为3 4 1 2import java.util.Arrays;import java.util.Scanner;public class Prog36 { ...原创 2018-09-07 14:06:53 · 288 阅读 · 0 评论 -
Java50道经典习题-程序3 打印水仙花数
题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。 分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。public class Prog3 { public static void main(String[] args) { System....原创 2018-09-03 14:31:48 · 249 阅读 · 0 评论 -
直接排序法又叫选择排序:choose sort
题目:使用直接排序法将下列数组(从小到大排序)思路:第一次:使用索引值为0的元素与其他位置的元素挨个比较一次,如果发现比0号索引值的元素小的,那么交换位置,第一轮下来最小值被放在了第一位 第二次:将索引值为1的元素与其他位置的元素挨个比较一次,如果发现比1号索引值的元素小的,那么交换位置,第二轮下来第二小的值被放在了第二位 ...这样依次循环比较n-1次,实现有小到大的排序...原创 2018-09-08 09:23:13 · 1164 阅读 · 0 评论 -
冒泡排序:bubble sort
思路:相邻的两个元素挨个比较,大的元素放在右边小的放在左边public class Bubblesort { public static void main(String[] args) { int[] arr=new int[]{12,5,17,8,9}; //排序前的数组 System.out.println("排序前的数组元素为...原创 2018-09-08 09:20:40 · 208 阅读 · 0 评论 -
从键盘录入一个数据,输出对应的九九乘法表
import java.util.Scanner;public class Jiujiuchengfabiao { public static void main(String[] args) { System.out.println("请输入一个数:"); Scanner scanner=new Scanner(System.in); ...原创 2018-09-08 09:18:29 · 1806 阅读 · 0 评论 -
Java50道经典习题-程序50 文件IO
题目:有五个学生,每个学生有3门课的成绩,从键盘输入以上数据(包括学生号,姓名,三门课成绩),计算出平均成绩,将原有的数据和计算出的平均分数存放在磁盘文件"stud"中。import java.io.*;public class Prog50{ //定义学生模型 String[] number = new String[5]; String[] name = n...原创 2018-09-08 09:15:51 · 994 阅读 · 0 评论 -
Java50道经典习题-程序49 子串出现的个数
题目:计算首末不含空格各个子串之间只含一个空格的字符串中子串出现的次数分析:例如输入的字符串为"I come from County DingYuan Province AnHui." 空格隔断的即为字符子串,所以上述字符串的子串个数有7个public class Prog49{ public static void main(String[] args){ ...原创 2018-09-08 09:15:36 · 518 阅读 · 0 评论 -
Java50道经典习题-程序48 数字加密
题目:某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:每位数字都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。分析:例如原始数据是: 6 7 8 9(原始数据) 每个数加上5后为:11 12 13 14 除以10后为: 1 2 3 4 交换位...原创 2018-09-08 09:15:24 · 813 阅读 · 0 评论 -
Java50道经典习题-程序47 输入数字打印星号
题目:读取7个数(1—50)的整数值,每读取一个值,程序打印出该值个数的*。import java.util.Scanner;public class Prog47{ public static void main(String[] args){ System.out.print("请输入7个整数(1-50):"); Scanner scan =...原创 2018-09-08 09:15:12 · 1163 阅读 · 0 评论 -
Java50道经典习题-程序30 插入数字
题目:有一个已经排好序的数组。现输入一个数,要求将它插入数组中后数组依然是排好序的。分析:首先判断此数是否大于最后一个数,然后再考虑插入中间的数的情况,插入后此元素之后的数,依次后移一个位置。import java.util.Arrays;import java.util.Scanner;public class Prog30 { public static void ma...原创 2018-09-06 08:01:29 · 447 阅读 · 0 评论 -
Java50道经典习题-程序29 求矩阵对角线之和
题目:求一个3*3矩阵对角线元素之和分析:利用双重for循环控制输入二维数组,再将a[i][i]累加后输出。 例如:下面矩阵的对角线之和为24 1 4 6 2 5 3 9 7 8public class Prog29 { public static void main(String[] args) { int[][]arr...原创 2018-09-06 08:01:12 · 1626 阅读 · 0 评论 -
Java50道经典习题-程序13 根据条件求数字
题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?分析:完全平方数:如果一个数能是由两个相同的数相乘的结果,那么这个数就是完全平方数,例如:9==3*3;9就是完全平方数。在10万以内判断,先将该数加上100后再开方,再将该数加上268后再开方,如果开方后的结果满足如下条件,即是结果。public class Prog13 { pu...原创 2018-09-04 10:33:43 · 528 阅读 · 0 评论 -
Java50道经典习题-程序12 计算奖金
题目:企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%; 利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可提成7.5%; 20万到40万之间时,高于20万元的部分,可提成5%; 40万到60万之间时高于40万元的部分,可提成3%; 60万到100万之间时,高于60万元的部分,可提成1.5%, ...原创 2018-09-04 09:31:49 · 1009 阅读 · 1 评论 -
Java50道经典习题-程序11 求不重复数字
题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去 掉不满足条件的排列。public class Prog11 { public static void main(String[] args) { int count=0; int n=0; for(int i=1;i<...原创 2018-09-04 09:22:49 · 1015 阅读 · 0 评论 -
Java50道经典习题-程序10 自由落体
题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在 第10次落地时,共经过多少米?第10次反弹多高?import java.util.Scanner;public class Prog10 { public static void main(String[] args) { System.out.println("请输入小球落地时的高度和求解的次数:");...原创 2018-09-04 09:17:33 · 472 阅读 · 0 评论 -
Java50道经典习题-程序9 求完数
题目:一个数如果恰好等于它的因子之和,这个数就称为"完数"。例如6=1+2+3.编程找出1000以内的所有完数。public class Prog9 { public static void main(String[] args) { int n=1000; compNumber(n); } //求完数 private static void compNumber(int n...原创 2018-09-04 09:11:18 · 558 阅读 · 1 评论 -
Java50道经典习题-程序8 输入数字求和
题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。 分析:关键是计算出每一项的值。import java.util.Scanner;public class Prog8{ public static void main(String[] args){ System.out...原创 2018-09-04 09:08:25 · 1365 阅读 · 0 评论 -
Java50道经典习题-程序7 处理字符串
题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。分析:利用while语句,条件为输入的字符不为'\n'.import java.util.*;public class Prog7{ public static void main(String[] args) { System.out.println("请输入一串字符:"); Scanner scan=n...原创 2018-09-04 09:05:35 · 2283 阅读 · 0 评论 -
Java50道经典习题-程序6 求最大公约数及最小公倍数
题目:输入两个正整数m和n,求其最大公约数和最小公倍数。分析:用辗转相除法求最大公约数 两个数的最大公约数:设两个数分别为n和m,(n>=m);用定义一个变量i,使用for循环,将i的取值从m一直到1,用i分别去取模于m和n,当两个数被取模的结果都是0时,返回此时变量i的值,此时i的值即为最大公约数 两个数的最小公倍数=两个数之积/最大公约数import java.ut...原创 2018-09-04 09:01:00 · 1258 阅读 · 0 评论 -
Java50道经典习题-程序5 判断分数等级
题目:利用三元运算符来完成此题:从键盘录入一个整型的分数,没有负分满分为100分,学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。分析:三元运算符的格式为:逻辑表达式?值1:值2 import java.util.*;public class Prog5 { public static void main(String[] args){ //...原创 2018-09-04 08:57:24 · 1249 阅读 · 0 评论 -
Java50道经典习题-程序4 分解质因数
题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:(1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。(2)如果n<>k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数n,重复执行第一步。(3)如果n不能被k整除,则用k+1作为k的值,重复执行第...原创 2018-09-04 08:54:10 · 1670 阅读 · 0 评论 -
Java50道经典习题-程序1 不死神兔
题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子对数为多少?分析:假如:1月1日有1对兔子,根据题目“从出生后第3个月起每个月都生一对兔子”即3月1日这对兔子产子一对由此可推出一对兔子从出生到产子的时间为每两个月一次,从第二对兔子开始,后续兔子的产子时间相同由此可得出以下的兔子数规律 兔子的规律为1,...原创 2018-08-30 22:33:54 · 1281 阅读 · 1 评论 -
Java50道经典习题-程序2 输出素数
题目:判断101-200之间有多少个素数,并输出所有素数分析:判断素数的方法:用一个数分别去除2到(这个数-1)的数,如果能被整除,则表明此数不是素数,反之是素数。public class Prog2 { public static void main(String[] args) { int count=0; System.out.println("100-200之间的素数有...原创 2018-08-30 22:35:08 · 434 阅读 · 0 评论