博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java基础编程一
阅读量:6217 次
发布时间:2019-06-21

本文共 3041 字,大约阅读时间需要 10 分钟。

1. 斐波那契算法

   斐波那契数列,又被称为兔子繁殖问题的解法,黄金分割比例。

1 /*2  * 斐波那契数列算法,n表示第n个月份,假定n是大于0的*/3     public int fibonacci(int n){4         if(n == 1||n == 2){5             return 1;6         }else{7             return fibonacci(n-2)+fibonacci(n-1);8         }9     }

2. 判断一个数是否为质数

1 /* 2     * 判断一个数是否是质数,若返回值为-1则说明输入值既不是质数也不是偶数; 3     * 若返回值为1则说明输入值为质数; 4     * 若返回值为0则说明输入值为合数*/ 5     public int prime(int n){ 6         int flag = 1; 7         if(n == 1){ 8             return -1; 9         }else{10             for (int i = 2; i <=n ; i++) {11                 if(n%i==0&&i!=n){12                     flag = 0;13                     break;14                 }15             }16         }17         return flag;18     }

3. 输出100-1000之间的所有水仙花数

1 /* 2     * 水仙花数是指一个 n 位正整数 ( n≥3 ), 3     * 它的每个位上的数字的 n 次幂之和等于它本身。*/ 4     public void daffodil(){ 5         for (int i = 100; i <1000 ; i++) { 6             int a = i/100; 7             int b = i/10%10; 8             int c = i%10; 9             if(i==(a*a*a+b*b*b+c*c*c)){10                 System.out.println(i);11             }12         }13     }

4. 输出一个数的所有质因数

1 public void pnum(int n){ 2         int temp = 2;//将最小的质数赋值给temp 3         System.out.print("数字"+n+"="); 4         if (n <= 2) { 5             System.out.println("该数为无效数字!"); 6         }else{ 7             while(temp<=n){ 8                 if((n%temp)==0){ 9                     System.out.print(temp+"*");10                     n=n/temp;11                 }else{12                     temp++;13                 }14             }15         }16     }

 5. 数组题

    有两个数组,以数组s1的顺序为准,输出数组s1和数组s2共有的元素。 

1 public static String[] inArray(String[] array1, String[] array2) { 2         String[] newString = new String[10]; 3         int m = 0; 4         for (int i = 0;i

 6. 求两个数的最大公约数

    常见的求法有短除法,分解质因数法,辗转相除法和更相减损术。而在这几个里面中适合我们编写程序的有辗转相除法和更相减损术。

   a. 辗转相除法,又叫欧几里德算法,是解决求最大公约数最常用的方法。 

1 public static void gcd(int m,int n){ 2         int r = m%n; 3         if(r == 0){ 4             System.out.println("两数的的最大公约数是:"+n); 5         }else{ 6             m = n; 7             n = r; 8             gcd(m,n); 9         }10     }

   b. 更相减损术,是九章算术中给我们提供的一种算法,其实现原理是:可半者半之,不可半者,副置分母、子之数,以少减多,更相减损,求其等也。以等数约之。解释来说就是:如果两个数都是偶数,就折半分之( 用2来约分),两个数都不是偶数的话,以大数减小数,直至减数与差相等为止。  

1 public static void gcd2(int m,int n){ 2         while(m!=n){ 3             if(m>n){ 4                 m = m-n; 5             }else{ 6                 n = n-m; 7             } 8         } 9         System.out.println("最大公约数是:"+m);10     }

 7. 求两个数的最小公倍数

1 public static void lcm(int m,int n){ 2         int i = 2; 3         if(m

 8. 判断一个字符串包含多少个数字,包含多少个字母,包含多少个空格,除此之外还剩多少字符。

1 public static void count(){ 2         int numCount = 0; 3         int letterCount = 0; 4         int spaceCount = 0; 5         int other = 0; 6         Scanner console = new Scanner(System.in); 7         String str = console.nextLine(); 8         for(int i = 0;i

说明:从控制台获取输入的字符串时,要注意使用nextLine()方法,不要使用next()方法,否则会出现当字符串中包含空格时,它获取到的字符串与输入的不一致。(原因:next()方法匹配的原则是以空格为一个标记)。

转载于:https://www.cnblogs.com/shouming/articles/6809458.html

你可能感兴趣的文章
判断顶点是否位于线段上
查看>>
权限---根据传递不用的值,显示不同的图标
查看>>
jni 写一个简单的photoshop
查看>>
作为原作者你能忍吗?
查看>>
DB2 表空间和缓冲池
查看>>
[转]Windows 下 Apache Virtual hosts 简单配置
查看>>
EditPlus怎样自动换行
查看>>
linux下open和fopen的区别
查看>>
lampp 在linux ubuntu下自动开机启动
查看>>
groovy-真值
查看>>
小白学数据分析----->什么才是留存率的关键?
查看>>
Oracle 存储过程A
查看>>
文思海辉大厦介绍-摘自网络
查看>>
使用jQuery的$.ajax()向MVC控制器Post数据
查看>>
Mysql中count(*),DISTINCT的使用方法和效率研究
查看>>
每日英语:Why Rate Your Marriage? A Numerical Score Can Help Couples Talk About Problems
查看>>
RabbitMQ php 使用
查看>>
iptables与SELinux
查看>>
C_文件包含.h文件和包含.c文件总结
查看>>
php file_get_contents与curl性能比较
查看>>