JAVA常见算法题(二十一)】的更多相关文章

package com.xiaowu.demo; //求1+2!+3!+...+20!的和. public class Demo21 { public static void main(String[] args) { sum(20); } public static void sum(int n) { long sum = 0; long fac = 1; for (int i = 1; i <= n; i++) { fac *= i; sum += fac; } System.out.pri…
package com.jege.spring.boot.hello.world; /** * java算法之冒泡排序<br> * 将数组按照从大到小的顺序排列<br> * * * @author Administrator * */ public class BubbleSort{ public static void main(String[] args){ int score[] = {67, 69, 75, 87, 89, 90, 99, 100}; for (int i…
package com.forezp.util; import java.util.Arrays; /** * 两个int数组,都是从小到大的的排列,请合并为一个新的数组,也是从小到到大的排列, * 请写出性能最优的算法.<br> * * * * @author Administrator * */ public class ArrayDemo1 { public static void main(String[] args) { int[] a = { 1,3,5,7,9}; int[] b…
package com.xiaowu.demo; import java.util.Scanner; /** * Java实现将阿拉伯数字转为汉字 * * @author WQ * */ public class Demo28 { private String toChinese(String string) { String[] s1 = { "零", "一", "二", "三", "四", "…
/** * Java实现中文数字转换为阿拉伯数字 * * * @author WQ * */ public class Demo26 { public static void main(String[] args) { int chineseNumber2Int = chineseNumber2Int("十万一千"); System.out.println(chineseNumber2Int); } private static int chineseNumber2Int(String…
package com.forezp.util; import java.util.Scanner; /** * 判断输入的5个字符串的最大长度,并输出 * * * @author Administrator * */ public class StringDemo{ public static void main(String[] args){ Scanner sc = new Scanner(System.in); String[] str =new String[5]; for(int x…
题目:给定一个存放整数的数组,请写一个算法,把偶数移动到该数组的右边,奇数放在该数组的左边,请考虑时间和空间的最优算法. package com.forezp.util; /** * 题目:给定一个存放整数的数组,请写一个算法, * 把偶数移动到该数组的右边,奇数放在该数组的左边,请考虑时间和空间的最优算法. * * @author Administrator * */ public class ArrayDemo { //判断是否为偶数 public static boolean isEven…
package com.xiaowu.demo; //一个5位数,判断它是不是回文数.即12321是回文数,个位与万位相同,十位与千位相同. public class Demo24 { public static void main(String[] args) { f2(123454321); } // 方法一 public static void f1(int n) { if (n >= 10000 && n < 100000) { String s = String.va…
package com.xiaowu.demo; /** * 给一个不多于5位的正整数,要求:①求它是几位数:②逆序打印出各位数字. * * * @author WQ * */ public class Demo23 { public static void main(String[] args) { f(123789); } public static void f(long l) { String s = Long.toString(l); char[] c = s.toCharArray(…
package com.xiaowu.demo; //利用递归方法求5!. public class Demo22 { public static void main(String[] args) { int n = 5; long s = sum(n); System.out.println(n + "!= " + s); } public static long sum(int n) { long s = 1; if (n == 1||n==0) { s = 1; } else {…
package com.xiaowu.demo; /** * * 打印出如下图案(菱形) * * * * @author WQ * */ public class Demo20 { public static void main(String[] args) { display(5); } public static void display(int h) { for (int i = 0; i < (h + 1) / 2; i++) { for (int j = 0; j < h / 2 -…
package com.xiaowu.demo; /** * 判断101-2000之间有多少个素数,并输出所有素数. * 质数(prime number)又称素数,有无限个.质数定义为在大于1的自然数中,除了1和它本身以外不再有其他因数的数称为质数. * @author WQ * */ public class Demo2 { public static void main(String[] args) { prime(); } public static void prime() { int…
题目一: 4,5,15,45,135,405,__ 题目二: 524,244,954,674,394,15,725, __ 题目三: 7,8,6,9,10,7,4,4,5,__ 求横线位置的整数. ****************************************我是分界线****************************************************** 1.第一题: 第二题: 第三题:…
package com.xiaowu.demo; /** * 有1.2.3.4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? * * * @author WQ * */ public class Demo11 { public static void main(String[] args) { number(); } public static void number() { int count = 0; for (int x = 1; x < 5; x++) { for (int…
package com.xiaowu.demo; /** * 完全平方即用一个整数乘以自己例如1*1,2*2,3*3等,依此类推.若一个数能表示成某个整数的平方的形式,则称这个数为完全平方数. * 完全平方数是非负数,而一个完全平方数的项有两个.注意不要与完全平方式所混淆. * * * 一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少? * * @author WQ * */ public class Demo12 { public static void…
package com.forezp.util; import java.io.BufferedReader; import java.io.FileReader; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.Collections; /** * 一个文本中包含多行字符串,输入长度最长的字符串和最短的字符串<br> * * @author Administrator * */ pu…
package com.xiaowu.demo; /** * 利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示. * * * @author WQ * */ public class Demo5 { public static void main(String[] args) { score(90); } public static void score(int n) { char s = n >= 90 ? 'A' : (n…
判断一个整数能被几个9整除. public static void main(String[] args) { f(729); f(730); } public static void f(int n) { int tmp = n; int count = 0; for (int i = 0; tmp % 9 == 0;) { tmp = tmp / 9; count++; } System.out.println(n + "能够被 " + count + "个9整除.&qu…
某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的, 加密规则如下: 每位数字都加上5,然后用和除以10的余数代替该数字, 再将第一位和第四位交换,第二位和第三位交换. 求加密之后的数字. public static void main(String[] args) { f(2345); } public static void f(int num) { int[] c = new int[4]; if (num > 999 && num < 10000) {…
计算某字符串中子串出现的次数. public static void main(String[] args) { String s1 = "adcdcjncdfbcdcdcd"; String s2 = "cd"; count(s1, s2); } public static void count(String str1, String str2) { int count = 0; if (str1.equals("") || str2.equa…
package com.xiaowu.demo; /** * 两个乒乓球队进行比赛,各出三人.甲队为a,b,c三人,乙队为x,y,z三人,以抽签决定比赛名单. 有人向队员打听比赛的名单:a说他不和x比,c说他不和x. * z比.请编程序找出三队赛手的名单. * * @author WQ * */ public class Demo18 { public static void main(String[] args) { vs(); } public static void vs() { char…
package com.xiaowu.demo; /** * * 有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和. * * * @author WQ * */ public class Demo19 { public static void main(String[] args) { sum(20); } public static void sum(int n) { double x = 2.0; double y = 1.0; double…
package com.xiaowu.demo; //输出九九乘法表. public class Demo17 { public static void main(String[] args) { table(9); } /** * 我用白话文解释"\t"的意思是:在同一个缓冲区内横向跳8个空格,JDK1.5上是这样的,至于更高版本是否变化,那我就不太清楚了!! * (有时候也有书籍称"\t"为制表符,对齐时使用的) * * @param n */ public s…
package com.xiaowu.demo; /** * * 输入三个整数x,y,z,请把这三个数由小到大输出. * * @author WQ * */ public class Demo15 { public static void main(String[] args) { sort(15, 10, 5); } //定义临时变量进行数字的移位操作 public static void sort(int x, int y, int z) { if (x > y) { int t = x;…
package com.xiaowu.demo; //猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个: //第二天早上又将剩下的桃子吃掉一半,而且又多吃了一个. //以后每天早上都吃了前一天剩下的一半零一个.到第10天早上想再吃时,就只剩下一个桃子了.求第一天共摘了多少个桃子. public class Demo16 { public static void main(String[] args) { int sum = peach(1); System.out.p…
package com.xiaowu.demo; /** * 企业发放的奖金根据利润提成: 利润(I)低于或等于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%提成. * 从键盘输入…
package com.xiaowu.demo; /** * 输入某年某月某日,判断这一天是这一年的第几天? * * * @author WQ * */ public class Demo14 { public static void main(String[] args) { year(2017, 6, 5); } /** * * 平年2月28天,闰年2月29天. * 年份数(末两位不是00)能被4整除的是闰年(如1988.1996).年份数(末两位数是00的)能被400整除是也是闰年(如20…
package com.xiaowu.demo; /** * * 一个数如果恰好等于它的因子之和,这个数就称为"完数".例如6=1+2+3.编程找出1000以内的所有完数. * * @author WQ * */ public class Demo9 { public static void main(String[] args) { number(); } public static void number() { int count = 0; for (int i = 1; i &…
package com.xiaowu.demo; /** * 一球从100米高度自由落下,每次落地后反跳回原高度的一半:再落下……求它在第10次落地时,共经过多少米?第10次反弹多高? * * @author WQ * */ public class Demo10 { public static void main(String[] args) { height(); } public static void height() { double sum = 0; double h = 100;…
package com.xiaowu.demo; /** * 输入一行字符,分别统计出其中英文字母.空格.数字和其它字符的个数. * * @author WQ * */ public class Demo7 { public static void main(String[] args) { String s = "Hello World! BeiJing AoYun 2008."; number(s); } public static void number(String s) {…