转载来源:https://blog.csdn.net/qiucaijuan/article/details/6650925

【程序1】

題目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一
对兔子,假如兔子都不死,问每个月的兔子总数为多少?

刚开始真的无从下手,这么难的,怎么可以说是基础呢,感觉这些应该是逻辑分析很强的,第一个月只有一对兔子,第二个月还是只有一对兔子,第三个月,就有两对了,第四个月3对,第五个月5对,第六个月8对,第七个月是13对。。。。。。规律出来了,你们发了没?

  1. public class Example1{
  2. public static void main(String args[]){
  3. //i是表示月份的,这里计算了36个月,也就是三年,兔子的数量
  4. int i;
  5. long arr[]=new long[36]; //这个数组时用来计算每月有兔子的对数
  6. arr[0]=arr[1]=1;
  7. System.out.println("第1个月有兔子1对"+", "+"总数是"+2);
  8. System.out.println("第2个月有兔子1对"+", "+"总数是"+2);
  9. for(i=2;i<=35;i++){
  10. arr[i]=arr[i-1]+arr[i-2];
  11. System.out.println("第"+i+"个月有兔子"+arr[i]+"对"+", "+"总数是"+2*arr[i]);
  12. //规律是 每个数字都是前面两个数字之和
  13. }
  14. }
  15. }

OK,用时45分钟。

【程序2】
题目:判断101-200之间有多少个素数,并输出所有素数。

素数又叫质数,就是除了1和它本身之外,再也没有整数能被它整除的数。也就是素数只有两个因子。

  1. public class Example2 {
  2. public static void main(String args[]){
  3. int i,j,n,m,x; //n是用来存储余数的;m是用来统计具体一个数的因子;
  4. n=0;m=0;x=0; //x是用来统计101~200之前素数的个数
  5. for(i=101;i<=200;i++){ //两重循环
  6. for(j=1;j<=i;j++){
  7. n=i%j; //去余数,如果余数为零,就是该数的因子
  8. if(n==0) { m=m+1; } //统计某数有多少个因子
  9. }
  10. if(m==2){System.out.print(i+" "); x=x+1;} //如果某数的因子只有两个,那它就一定是素数,那这个数就应该输出
  11. m=0; //一定要清零,不然会继续累加
  12. }
  13. System.out.println();
  14. System.out.println("在101~200之間一共有素數:"+x+"個");
  15. }
  16. }

我好笨啊,这题我做了两个钟头,最终还是解决了。加油

【程序3】
题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:

153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。想当年,做这些题都是网上找答案,如今事过境迁,不会也得会。

  1. public class Example3 {
  2. public static void main(String args[]){
  3. int a,sum; //表示100~999
  4. int i,j,k;//分别表示百位、十位、各位
  5. for(a=100;a<=999;a++){
  6. i=a/100;
  7. j=(a-i*100)/10;
  8. k=a-i*100-j*10;
  9. sum=i*i*i+j*j*j+k*k*k;
  10. //java的运算符,立方要这样写,写成i^3这样,竟然运算不出来
  11. //如果遇到高次的话可以使用循环算出来
  12. if(sum==a)
  13. { System.out.println(sum);
  14. }
  15. }

还是有学到点东西,应该还有别的方法。那我就试试吧。

  1. public class Example4 {
  2. public static void main(String args[]){
  3. int sum;
  4. int i,j,k;//分别表示百位、十位、各位
  5. for(i=1;i<=9;i++){
  6. for(j=0;j<=9;j++){
  7. for(k=0;k<=9;k++){
  8. sum=i*i*i+j*j*j+k*k*k;
  9. if(i*100+j*10+k==sum){
  10. System.out.println(sum);
  11. }
  12. }
  13. }
  14. }
  15. }
  16. }

【程序4】
题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。
(1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。
(2)如果n<>k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数你n,重复执行第一步。
(3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。

  1. import java.util.*;
  2. public class Example4{
  3. public static void main(String[] args){
  4. int x;
  5. Scanner in = new Scanner(System.in);//定义从键盘输入
  6. System.out.print("请输入一个正整数:");//提示
  7. x = in.nextInt(); //将从键盘输入的数赋值给x
  8. new PrimeSplit(x); //匿名初始化一个对象,还有参数的构造函数
  9. }
  10. }
  11. class PrimeSplit{
  12. int k = 2; //将最小的质数赋值给k
  13. public PrimeSplit(int x){ //小于等于1的数不可以分解
  14. if(x<=1){
  15. System.out.println(x+"是无效的被分解数");
  16. }
  17. else if(x==2){
  18. System.out.println(x+"分解后的质因数为: 1*"+x); //如果输入的是最小质数2,
  19. }else {
  20. System.out.print(x+"分解后的质因数为: 1"); //1是所有的正整数的质数
  21. while(k<=x){ //输入的数可以被k整除
  22. if(x%k==0){
  23. System.out.print("*"+k); //将k添加到结果中
  24. x = x/k;//除以最小质数后重新循环
  25. }
  26. else{
  27. k++;
  28. }
  29. }
  30. }
  31. }
  32. }

【程序5】
题目:利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下
的用C表示。

  1. public class Example5 {
  2. public static void main(String args[]){
  3. int score=90; //分数的值可以随便修改
  4. if(score>=90){
  5. System.out.println("A");
  6. }
  7. else if(score>=60){
  8. System.out.println("B");
  9. }
  10. else{
  11. System.out.println("C");
  12. }
  13. }
  14. }

【程序6】
题目:输入两个正整数m和n,求其最大公约数和最小公倍数。

  1. public class Example6 {
  2. public static void main(String args[]){
  3. gcdlcm a =new gcdlcm();
  4. System.out.println("兩數的最大公約數是:"+a.gcd(10, 16));
  5. System.out.println("兩數的最小公倍數是:"+a.lcm(16, 10));
  6. }
  7. }
  8. class gcdlcm{
  9. int gcd(int m,int n){
  10. if(m<n){ //這個判斷是爲了將大數放在前面
  11. int temp=n;
  12. n=m;
  13. m=temp;
  14. }
  15. if(m%n==0){
  16. return n;
  17. }
  18. else{
  19. m%=n;
  20. return gcd(m,n);
  21. //這裡也可以寫成gcd(n,m),就省掉了前面的判斷了,會快一點
  22. }
  23. }
  24. int lcm(int m,int n){
  25. int i=1;
  26. if(m<n){ //這個判斷是爲了將大數放在前面
  27. int temp=n;
  28. n=m;
  29. m=temp;
  30. }
  31. int lcm=m;
  32. while(lcm%n!=0){
  33. lcm=m*i;
  34. i++;
  35. }
  36. return lcm;
  37. }
  38. }

【程序7】
题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。

  1. import java.util.Scanner;
  2. public class Example {
  3. public static void main(String[] args) {
  4. // TODO Auto-generated method stub
  5. int abcCount=0;//英文字母个数
  6. int spaceCount=0;//空格键个数
  7. int numCount=0;//数字个数
  8. int otherCount=0;//其他字符个数
  9. Scanner scan=new Scanner(System.in);
  10. String str=scan.nextLine();
  11. char[] ch = str.toCharArray();
  12. for(int i=0;i<ch.length;i++){
  13. if(Character.isLetter(ch[i])){
  14. //判断是否字母
  15. abcCount++;
  16. }
  17. else if(Character.isDigit(ch[i])){
  18. //判断是否数字
  19. numCount++;
  20. }
  21. else if(Character.isSpaceChar(ch[i])){
  22. //判断是否空格键
  23. spaceCount++;
  24. }
  25. else{
  26. //以上都不是则认为是其他字符
  27. otherCount++;
  28. }
  29. }
  30. System.out.println("字母个数:"+abcCount);
  31. System.out.println("数字个数:"+numCount);
  32. System.out.println("空格个数:"+spaceCount);
  33. System.out.println("其他字符个数:"+otherCount);
  34. }
  35. }

【程序8】
题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),
几个数相加有键盘控制。

【程序9】
题目:一个数如果恰好等于它的因子之和,这个数就称为"完数"。例如6=1+2+3.编程 找出1000以内的所有完
数。

【程序10】
题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在 第10次落地时,共经过多
少米?第10次反弹多高?

【程序11】
题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?

【程序12】
题目:企业发放的奖金根据利润提成。利润(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%提成,从键盘输入当月利润I,求应发放奖金总数?

【程序13】
题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?

【程序14】
题目:输入某年某月某日,判断这一天是这一年的第几天?

【程序15】
题目:输入三个整数x,y,z,请把这三个数由小到大输出。

【程序16】
题目:输出9*9口诀。

【程序17】
题目:猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个 第二天早上又将剩
下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下
的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。

【程序18】
题目:两个乒乓球队进行比赛,各出三人。甲队为a,b,c三人,乙队为x,y,z三人。已抽签决定比赛名单。有人向
队员打听比赛的名单。a说他不和x比,c说他不和x,z比,请编程序找出三队赛手的名单。

【程序19】
题目:打印出如下图案(菱形)
    *
   ***
 ******
********
 ******
  ***
   *

【程序20】
题目:有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。

【程序21】
题目:求1+2!+3!+...+20!的和

【程序22】
题目:利用递归方法求5!。

【程序23】
题目:有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁。问第4个人岁数,他说比第3个人大2岁。问
第三个人,又说比第2人大两岁。问第2个人,说比第一个人大两岁。最后问第一个人,他说是10岁。请问第五个
人多大?

【程序24】
题目:给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。

【程序25】
题目:一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。

【程序26】
题目:请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续 判断第二个字母。

【程序27】
题目:求100之内的素数

【程序28】
题目:对10个数进行排序

【程序29】
题目:求一个3*3矩阵对角线元素之和

【程序30】
题目:有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。

【程序31】
题目:将一个数组逆序输出。

【程序32】
题目:取一个整数a从右端开始的4~7位。

【程序33】
题目:打印出杨辉三角形(要求打印出10行如下图)
        1
       1 1
     1 2 1
    1 3 3 1
   1 4 6 4 1
1 5 10 10 5 1

【程序34】
题目:输入3个数a,b,c,按大小顺序输出。

【程序35】
题目:输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。

【程序36】
题目:有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面的m个数

【程序37】
题目:有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下
的是原来第几号的那位。

【程序38】
题目:写一个函数,求一个字符串的长度,在main函数中输入字符串,并输出其长度。

【程序39】
题目:编写一个函数,输入n为偶数时,调用函数求1/2+1/4+...+1/n,当输入n为奇数时,调用函数
1/1+1/3+...+1/n(利用指针函数)

【程序40】

题目:字符串排序。

【程序41】
题目:海滩上有一堆桃子,五只猴子来分。第一只猴子把这堆桃子凭据分为五份,多了一个,这只猴子把多的一
个扔入海中,拿走了一份。第二只猴子把剩下的桃子又平均分成五份,又多了一个,它同样把多的一个扔入海中
,拿走了一份,第三、第四、第五只猴子都是这样做的,问海滩上原来最少有多少个桃子?

【程序42】
题目:809*??=800*??+9*??+1
其中??代表的两位数,8*??的结果为两位数,9*??的结果为3位数。求??代表的两位数,及809*??后的结果。

【程序43】
题目:求0—7所能组成的奇数个数。

【程序44】

题目:一个偶数总能表示为两个素数之和。

【程序45】
题目:判断一个素数能被几个9整除

【程序46】
题目:两个字符串连接程序

【程序47】
题目:读取7个数(1—50)的整数值,每读取一个值,程序打印出该值个数的*。

【程序48】
题目:某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:每位数字
都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。

【程序49】
题目:计算字符串中子串出现的次数

【程序50】
题目:有五个学生,每个学生有3门课的成绩,从键盘输入以上数据(包括学生号,姓名,三门课成绩),计算出平均成绩,况原有的数据和计算出的平均分数存放在磁盘文件"stud"中。

Java基础练习题 1-50相关推荐

  1. Java基础练习题2

    Java基础练习题2 1.编写一个类实现复数运算,至少包含复数加减乘除. 2.随机输出1到100之间的10个数.. 3.利用ArrayList类创建一个对象,并向其添加若干个学生信息(包括但不限于学号 ...

  2. Java基础编程练习50题(转载)

    JAVA基础编程练习50题 本文对50道经典的java程序题进行详细解说,对于初学者可以跳过一些逻辑性太强的题目,比如第一题用到了方法的递归,初学者可能不理解,最好先看那些有if.for.while可 ...

  3. Java基础练习题(逢七跳过、百钱百鸡、不死神兔、复利(利滚利))

    Java练习题(逢七跳过.百钱百鸡.不死神兔.复利(利滚利)) Java学习中遇到的练习题,用自己的思路解决这几个问题,新手写法,仅供参考 逢七跳过 朋友聚会的时候可能会玩一个游戏:逢七过. 规则是: ...

  4. JAVA基础编程代码50个

    [程序1] 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子对数为多少? 程序分析: 兔子的规律为数列1,1,2 ...

  5. Java基础练习题_Random

    #Random练习题 import java.util.Random; import java.util.Scanner;public class RandomTest {/*需求:程序自动生成一个1 ...

  6. Java基础学习总结(50)——Java事务处理总结

    一.什么是Java事务 通常的观念认为,事务仅与数据库相关. 事务必须服从ISO/IEC所制定的ACID原则.ACID是原子性(atomicity).一致性(consistency).隔离性(isol ...

  7. java基础练习题(for,switch,while,基本数据类型和引用数据类型的联系)

    1.打印输出字符串"HelloWorld". /*1.打印输出字符串"HelloWorld". */ public class zuoye_01 {public ...

  8. Java基础练习题_05

    第一题:看程序说结果,请不要提前运行? public class Test01_01 {public static void main(String[] args) {int x = 1,y = 1; ...

  9. Java基础练习题day2

    1.输入两个 int数,然后输入运算符(+,-,*,\)任一一个,对输入的两个数进行运算 public static void main(String[] args) {System.out.prin ...

最新文章

  1. POJ1088(滑雪)
  2. C#集合--Dictionary
  3. Win7输入法消失和不能切换的办法了
  4. 【Nginx】错误: [emerg] “proxy_pass“ cannot have URI part in location given by regular expression,...
  5. 友盟小米收不到推送消息_App消息推送的到达率多少才是正常的?
  6. 在 DotNetCore 3.0 程序中使用通用协议方式启动文件关联应用
  7. python自定义类的属性_我可以将自定义方法/属性添加到内置Python类型吗?
  8. Atcoder Yahoo Programming Contest 2019 简要题解
  9. 【PostgreSQL-9.6.3】数据库的启动、登录、退出、关闭
  10. 2019.03.25 bzoj4572: [Scoi2016]围棋(轮廓线dp)
  11. 公司git服务器记录
  12. zabbix 添加jvm监控
  13. SPSS学习笔记(三)方差分析ANOVA(F检验)
  14. Camunda 动态增加会签
  15. 国际物流杰信项目总结与面试
  16. 这5款微信小程序,实用又不占内存!
  17. 如何搭建Telegram群机器人
  18. uniapp实现生成海报功能
  19. 主菜单在c语言中的作用,C语言 如何实现返回主菜单????
  20. 【LB】稀疏矩阵的快速转置原理及其算法

热门文章

  1. 初面蚂蚁金服,培训java知识
  2. react package.json 里面的小尖角号和波折号各什么意思
  3. Spring-day1
  4. 【免费使用】【redis】【数据库】快速使用redislabs免费套餐 注册和配置redis 缓存 数据库 nosql
  5. Easy Excel读取复杂表格文件
  6. SDUT 3069 为了相同的前缀-跳楼梯
  7. 适合小白的Matplotlib基本使用
  8. 怎样解决计算机管理compmgmt.msc打不开
  9. iOS删除项目中未使用的图片资源
  10. Multi-University Training Contest 4