50道经典的JAVA编程题 (1-5)
后天java考试,现在闲着也是闲着,来做做java题吧。
前不久在网上看见了50道java算法编程题,感觉还不错,记得大一学C语言的时候做过一些,现在用java来回顾下吧,也算应付考试吧。
代码要是有啥不完美的地方还请各位积极指出啊,小的还是菜鸟啦,出错难免的哦~~~
暂时一篇帖子放5道吧,代码比较占地方,等全部做完了发一个目录吧
【程序1】 TestRabbit.java
题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
1.程序分析: 兔子的规律为数列1,1,2,3,5,8,13,21....
package test50;/*** @author VellBibi*题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的总兔子对数为多少?*1.程序分析: 兔子的规律为数列1,1,2,3,5,8,13,21...*/public class TestRabbit {/*** @param m 总月数* @return 这月兔子对数*/public static int sumRabbitNumber(int m){int n = 1;//第0个月对数int e = 0;//第0个月对数int cup = 0;for(int i=1; i<m; i++){cup = n;n = e + n;e = cup;}return n;}public static void main(String[] args) {for(int i=1; i<=10; i++){System.out.print(sumRabbitNumber(i)+",");}}}
【程序2】 FindPrimeNumber.java
题目:判断101-200之间有多少个素数,并输出所有素数。
1.程序分析:判断素数的方法:用一个数分别去除2~sqrt(n)或者2~n/2,常用2~n/2,因为一个数的一半的平方大于其本身是从5开始的,解方程:n/2的平方>n .如果能被整除,
则表明此数不是素数,反之是素数。
package test50;/*** @author VellBibi*题目:判断101-200之间有多少个素数,并输出所有素数。*1.程序分析:判断素数的方法:用一个数分别去除2~sqrt(n)或者2~n/2,常用2~n/2,*因为一个数的一半的平方大于其本身是从5开始的,解方程:n/2的平方>n .如果能被整除,*则表明此数不是素数,反之是素数。*/public class FindPrimeNumber {/*** 判断n是不是质数* @param n* @return*/public static boolean isPrimeNumber(int n){if(n == 2) return true;for(int i=2; i<=n/2; i++){if(n % i == 0) return false;}return true;}public static void main(String[] args) {int n = 0;for(int i=101; i<=200; i++){if(isPrimeNumber(i)){n++;System.out.print(i + ",");}}System.out.println("\n101-200之间有"+n+"个素数");}}
【程序3】FindDaffodilNumber.java
题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:
153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。
1.程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。
package test50;/*** @author VellBibi*题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:*153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。*1.程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。*/public class FindDaffodilNumber {public static boolean isDaffodNumber(int n){char[] ch = String.valueOf(n).toCharArray();int cup = 0;for(int i=0; i<ch.length; i++){cup = cup + (int)Math.pow(Integer.parseInt(String.valueOf(ch[i])), 3) ;}return (cup == n);}public static void main(String[] args) {for(int i=100; i<1000; i++){if(isDaffodNumber(i)){System.out.print(i + ",");}}}}
【程序4】Explode.java
题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。
程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:
(1)运用两层循环。
(2)外循环得到2~n之间的所有质数,内循环将n循环除以质数,知道不能整除。
(3)要是内循环n等于1了就说明n被完全整除了。
package test50;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;/*** @author VellBibi* 【程序4】Explode.java*题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。*程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:*(1)运用两层循环*(2)外循环得到2~n之间的所有质数,内循环将n循环除以质数,知道不能整除*(3)要是内循环n等于1了就说明n被完全整除了*/public class Explode {/*** 判断n是不是质数* @param n* @return*/public static boolean isPrimeNumber(int n){if(n == 2) return true;for(int i=2; i<=n/2; i++){if(n % i == 0) return false;}return true;}public static void main(String[] args) {BufferedReader buffer = new BufferedReader(new InputStreamReader(System.in));int N = 0;try {N = Integer.parseInt(buffer.readLine());} catch (IOException e) {e.printStackTrace();}System.out.print(N+"=");for(int i=2; i<N; i++){if(!isPrimeNumber(i)) continue;while(N%i == 0){System.out.print(i);N = N/i;if(N != 1) System.out.print("*");else break;}}if(N != 1) System.out.println(N);}}
【程序5】 ConditionOperator.java
题目:利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。
1.程序分析:(a>b)?a:b这是条件运算符的基本例子。
package test50;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;/*** @author VellBibi*【程序5】 ConditionOperator.java*题目:利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。*1.程序分析:(a>b)?a:b这是条件运算符的基本例子。*/public class ConditionOperator {public static void main(String[] args) {BufferedReader buffer = new BufferedReader(new InputStreamReader(System.in));int N = 0;try {N = Integer.parseInt(buffer.readLine());} catch (IOException e) {e.printStackTrace();}System.out.println("学习成绩为:" + ((N < 60) ? "C" : (N < 90) ? "B" : "A"));}}
50道经典的JAVA编程题 (1-5)的更多相关文章
- 50道经典的JAVA编程题(汇总)
这是一次不可思议的编程历程.从2013年的最后一天开始做这份题,中间连续好几天的考试,包括java考试(今天考试的JAVA编程题),直到今天完成了.挺有成就感的...废话不多说了,来电实质性的吧. 全 ...
- 50道经典的JAVA编程题(46-50)
50道经典的JAVA编程题(46-50),最后五道题了,这是一个美妙的过程,编程真的能让我忘掉一切投入其中,感觉很棒.今天下午考完微机原理了,大三上学期就这样度过了,这学期算是解放了,可是感觉我还是没 ...
- 50道经典的JAVA编程题(41-45)
50道经典的JAVA编程题(41-45),苦逼的程序猿,晚上睡不着了编程吧~今天坚持做10道题!发现编程能是我快乐...O(∩_∩)O哈哈~能平静我烦乱的心,剩下5道题留到考试完了再做吧!该睡觉了.. ...
- 50道经典的JAVA编程题(36-40)
50道经典的JAVA编程题(36-40),今天晚上心情压抑,不爽,继续做题,管它明天考试,我继续我的java,一个周末都在看微机原理看得的很头疼啊~明天该挂科就挂吧,不在乎了~~~ [程序36] Ar ...
- 50道经典的JAVA编程题(31-35)
50道经典的JAVA编程题(31-35),今天考完了java,在前篇博客里面贴出了题了,见:<今天考试的JAVA编程题>.考完了也轻松了,下个星期一还考微机原理呢,啥都不会,估计今天就做到 ...
- 50道经典的JAVA编程题(26-30)
50道经典的JAVA编程题(26-30),这么晚了,早点睡了要,明早8点考java祝我好运吧!!!晚安~ [程序26]Ex26.java(跳过了,好没意思的题啊)题目:请输入星期几的第一个字母来判断一 ...
- 50道经典的JAVA编程题(21-25)
50道经典的JAVA编程题(21-25),明天早上java考试了,还是坚持做题吧...这题比老师的题好多了! [程序21]TestJieCheng.java题目:求1+2!+3!+...+20!的和1 ...
- 50道经典的JAVA编程题 (16-20)
50道经典的JAVA编程题 (16-20),用了快一个下午来做这10道题了,整理博客的时间貌似大于编程的时间啊..哈哈 [程序16]Nine.java 题目:输出9*9口诀. 1.程序分析:分行与列考 ...
- 50道经典的JAVA编程题 (11-15)
50道经典的JAVA编程题 (11-15),新年的第一天,继续啦...\(^o^)/~,这50道题都跨年了啊...哈哈 [程序11] TestTN.java 题目:有1.2.3.4个数字,能组成多少个 ...
- 50道经典的JAVA编程题 (6-10)
50道经典的JAVA编程题 (6-10),今晚做了10道了,累死了...感觉难度不是很大,就是不知道是不是最好的实现方法啊!希望大神们能给指点哈... [程序6]GCDAndLCM.java 题目:输 ...
随机推荐
- Matlab中添加搜索目录
一.问题来源 来自于一份大规模hash图像检索代码. 二.问题解析 2.1 添加目录 addpath('./utils/'); 2.2 添加目录及其子目录 addpath(genpath('./uti ...
- js的基本概念详解
来自<javascript高级程序设计 第三版:作者Nicholas C. Zakas>的学习笔记(三) 如果你刚学js,想快速了解到js的基本概念,以下将会是一篇不错的引导文章: 语法 ...
- [转载]JS对URL的编码
虽然escape().encodeURI().encodeURIComponent()三种方法都能对一些影响URL完整性的特殊字符进行过滤.但后两者是将字符串转换为UTF-8的方式来传输,解决了页面编 ...
- 使用 Spark 进行微服务的实时性能分析
[编者按]当开发者从微服务架构获得敏捷时,观测整个系统的运行情况成为最大的痛点.在本文,IBM Research 展示了如何用 Spark 对微服务性能进行分析和统计,由 OneAPM 工程师编译整理 ...
- CentOS 5: Make Command not Found
在centos 5下安装软件遇到的问题,google了一圈,是因为系统没有安装编译器,那安装就是了,嘿嘿. 解决办法,在SSH下输入下面的命令 yum -y install gcc automake ...
- Android 控制ScrollView滚动到底部
scrollView.fullScroll(ScrollView.FOCUS_DOWN);滚动到底部 scrollView.fullScroll(ScrollView.FOCUS_UP);滚动到顶部 ...
- 【疯狂Java学习笔记】【第一章:Java语言概述】
[学习笔记]1.Java与C#的异同:Java与C#的相同之处有很多,它们均摒弃了C++面向对象的多继承.宏定义.全局变量.全局函数.指针等等难以使用的机制,添加进了成熟的机制,如垃圾回收.接口等等. ...
- ajax跨域访问的解决方案
今天的工作中要访问摄像机内部的一个web站点,这就涉及到jquery的ajax跨域访问的问题.我使用的是jquery1.7的版本,下面总结如下: 问题一:一开始用IE调试,总是返回No Transpo ...
- RxJava学习( 二)
1) Scheduler 的 API (一) 在RxJava 中,Scheduler ——调度器,相当于线程控制器,RxJava 通过它来指定每一段代码应该运行在什么样的线程.RxJava 已经内置了 ...
- Linux Shell常用命令手册(Updating)
检查远程端口是否对bash开放: nc -nvv $IP $PORT telnet $IP $PORT 当前任务的前后台切换: Ctrl + z fg 截取变量前5个字符: ${variable:0: ...






