循环

1.(for 循环)计算1+2+3+…+100 的和

package com.fxm.day03.test;
public class day03test1{public static void main(String[] args){int sum = 0;for(int i = 1; i < 101; i++){sum += i;}System.out.println("1到100的和:"+sum);}
}

2.(for 循环)计算1+3+5+…+99 的和。

package com.fxm.day03.test;
public class day03test2{public static void main(String[] args){int sum = 0;for(int i = 1; i < 100; i += 2){sum += i;}System.out.println("1到100的奇数和为:"+sum);}
}

3.(while/do while循环)把1、2 两题用while 循环或do…while 循环改写。

package com.fxm.day03.test;
public class Day03test3{public static void main(String[] args){test1(100);test2(99); }public static int test1(int n){int sum = 0;while(n > 0){sum += n;n--;}System.out.println("1到100的和:"+sum);return 0;}public static int test2(int n){int sum = 0;while(n > 0){sum += n;n -= 2;}System.out.println("1到100的奇数和为:"+sum);return 0;}
}

4.(for 循环)读入一个小于10 的整数n,输出它的阶乘n!。

package com.fxm.day03.test;
public class Day03test4{public static void main(String[] args){java.util.Scanner sc = new java.util.Scanner(System.in);System.out.println("输入一个小于10的数:");int n = sc.nextInt();int result = 1;for(int i = 1; i <= n; i++){result *= i;}System.out.println("它的阶乘为:"+result);}
}

5.(循环)找出1~100之中,所有能被5整除,或者被6整除的数字。在控制台输出

package com.fxm.day03.test;
public class Day03Test5{public static void main(String[] args){System.out.println("输出1到100之间能被5或6整除的数:");for(int i = 1; i < 101; i++){if(i % 5 == 0||i % 6 == 0){System.out.print(" "+i);}}}
}

6.(循环)用户输入一个数字,列出所有它能够整除的数字。 比如用户输入48,那么控制台中将显示:

package com.fxm.day03.test;
public class Day03Test6{public static void main(String[] args){java.util.Scanner sc = new java.util.Scanner(System.in);System.out.println("输入一个数:");int n = sc.nextInt();System.out.println("它所以能整除的数有:");for(int i = 1; i <= n; i++){if(n % i == 0){System.out.println(i);}}}
}

7.(for 循环)求100 以内所有能被3 整除但不能被5 整除的数字的和。

package com.fxm.day03.test;
public class Day03Test7{public static void main(String[] args){int sum = 0;for(int i = 1; i < 100; i++){if(i % 3 == 0&&i % 5 != 0){sum += i;}}System.out.println("100以内所有能被3整除但不能被5整除的数字和:"+sum);}
}

8.(for 循环)“百钱买百鸡”是我国古代的著名数学题。
题目描述:3文钱可以买1只公鸡,2文钱可以买一只母鸡,1文钱可以买3只小鸡。 用100文钱买100 只鸡,那么各有公鸡、母鸡、小鸡多少只?

package com.fxm.day03.test;
public class Day03Test8{public static void main(String[] args){int x,y,z;for(x = 0;x < 100;x++){for(y = 0;y < 100;y++){for(z = 0;z < 100;z++){if(3*x+2*y+z/3==100&&z%3==0&&x+y+z==100){System.out.println("公鸡:"+x+" 母鸡:"+y+" 小鸡:"+z);}}}}}
}

优化如下:

package com.fxm.day03.test;
public class Day03Test8{public static void main(String[] args){int x,y,z;for(x = 0;x < 100;x++){for(y = 0;y < 100;y++){z = 100 - x - y;if(z % 3 != 0){continue;}if(3*x+2*y+z/3==100){System.out.println("公鸡:"+x+" 母鸡:"+y+" 小鸡:"+z);}}}}
}

9.(for 循环)搬砖问题:36 块砖,36 人搬,男搬4,女搬3,两个小孩抬1 砖, 要求一次 全搬完,问 男、女和小孩各若干?

package com.fxm.day03.test;
public class Day03Test9{public static void main(String[] args){int x,y,z;for(x = 1;x < 36;x++){for(y = 1;y < 36;y++){for(z = 2;z < 36;z+=2){if(x+y+z==36&&4*x+3*y+z/2==36){System.out.println("男:"+x+" 女:"+y+" 小孩:"+z);}}}}}
}

10.(for 循环)编程找出四位整数abcd 中满足 (ab+cd)(ab+cd)=abcd 的数。 例如abcd=1234,则ab=12,cd=34;

package com.fxm.day03.test;
public class Day03Test10{public static void main(String[] args){int a,b,c,d;for(a = 0;a < 10;a++){for(b = 0;b < 10;b++){for(c = 0;c < 10;c++){for(d = 0;d < 10;d++){if((10*a+b+10*c+d)*(10*a+b+10*c+d)==1000*a+100*b+10*c+d){System.out.println("a:"+a+" b:"+b+" c:"+c+" d:"+d);}}}}}}
}

优化如下:

package com.fxm.day03.test;
public class Day03Test10{public static void main(String[] args){for(int i = 1000;i < 9999;i++){int ab = i / 100;int cd = i % 100;if((ab+cd)*(ab+cd)==i){System.out.println(i);}}}
}

11.(循环)*读入一个整数n,输出如下图形 n = 3
n = 4
思路:
I. 读入的整数n,就是外层循环的循环次数。 II. 对于每一行,要做的事情: 1). 输出若干个空格; 2). 输出若干个星; 3). 换行。 提示:输出不换行,用System.out.print()。

package com.fxm.day03.test;
public class Day03Test11{public static void main(String[] args){java.util.Scanner sc = new java.util.Scanner(System.in);System.out.println("输入一个数:");int n = sc.nextInt();for(int i = 0;i < n;i++){for(int j = 0;j < n-i;j++){System.out.print(" ");}for(int k = 0;k <= 2*i;k++){System.out.print("*");}System.out.println();}}
}

12、利用循环,实现下面数据的输出结果。 1-3+5-7+…-99+101

package com.fxm.day03.test;
public class Day03Test12{public static void main(String[] args){int sum1 = 0;int sum2 = 0;for(int i = 1;i < 102;i+=4){sum1 += i;}for(int j = 3;j < 100;j+=4){sum2 += j;}int result = sum1 - sum2;System.out.println("1-3+5-7+бн-99+101="+result);}
}

13.(for循环)输出99 乘法表。

package com.fxm.day03.test;
public class Day03Test13{public static void main(String[] args){for(int i = 1;i < 10;i++){for(int j = 1;j <= i;j++){System.out.print(i+"*"+j+"="+i*j+" "+"\t");}System.out.println();}}
}

14.(for循环)求水仙花数。
提示:所谓水仙花数,是指一个三位数abc,如果满足a³+b³+c³=abc,则abc是水 仙花数。

package com.fxm.day03.test;
public class Day03Test14{public static void main(String[] args){for(int a = 0;a < 10;a++){for(int b = 0;b < 10;b++){for(int c = 0;c < 10;c++){if(a*a*a+b*b*b+c*c*c==100*a+10*b+c){System.out.print(a);System.out.print(b);System.out.print(c);System.out.println();}}}}}
}

函数

5.写一个函数,接受一个整数,返回这个整数是几位数

package com.fxm.day04.test;
import java.util.Scanner;
public class Day04Test05{public static void main(String[] args){Scanner sc = new Scanner(System.in);System.out.println("输入一个数:");int n = sc.nextInt();int x = test05(n);System.out.println("该数是"+x+"位数。");}public static int test05(int n){if(n == 0){return 1;}int i = 0;while(n != 0){n /= 10;i++;}return i;}
}

6.(函数嵌套)打印所有的三位数,该三位数等与其每位数字的阶乘之和。

package com.fxm.day04.test;
public class Day04Test06{public static void main(String[] args){for(int a = 0;a < 10;a++){for(int b = 0;b < 10;b++){for(int c = 0;c < 10;c++){if(100*a+10*b+c==test06(a)+test06(b)+test06(c)){System.out.print(a);System.out.print(b);System.out.print(c);System.out.println();}}}}}public static int test06(int a){if(a == 0){return 1;}return a*test06(a-1);}
}

7.(函数嵌套)如果整数A 的全部因子(包括1,不包括A本身)之和等于B,且整数B的全部 因 子包括1,不包括B 本身)之和等于A,则称整数A\B是一对亲密数。打印出3000 以内的全部 亲密数。

package com.fxm.day04.test;
public class Day04Test07{public static void main(String[] args){for(int A = 2;A < 3000;A++){for(int B = 2;B < 3000;B++){if(test07(A) == test07(B)&&A != B){System.out.println("A:"+A+" B:"+B);}}}}public static int test07(int a){int sum = 0;for(int i = 1;i < a;i++){if(a % i == 0){sum += i;}}return sum;}
}

8.(函数嵌套)验证哥德巴赫猜想:
任何一个大于6的偶数,都能分解成两个质数的和。要求输入 一个整数,输出这个 数能被 分解成哪两个质数的和。 eg : 14 14=3+11 14=7+7

package com.fxm.day04.test;
public class Day04Test08{public static void main(String[] args){java.util.Scanner sc = new java.util.Scanner(System.in);System.out.println("输入一个大于6的偶数:");int n = sc.nextInt();if(n % 2 != 0||n > 6){System.out.println("输入有误!!");}else{for(int n1 = 1;n1 <= n/2;n1++){int n2 = n - n1;if(test08(n1) && test08(n2)){System.out.println(n+"="+n1+"+"+n2);}}}}public static boolean test08(int n){if(n < 2){return false;}for(int i = 2;i < n;i++){if(n % i == 0){return false;}}return true;}
}

9、斐波那契数列的第1和第2个数分别为1和1,从第三个数开始,每个数等于其前两个数之 和(1,1,2,3,5,8,13….).写出一个函数,接受一个数表示数列序号,返回对应序号中序列的 值

package com.fxm.day03.test;
public class Day03Test15{public static void main(String[] args){java.util.Scanner sc = new java.util.Scanner(System.in);System.out.println("输出一个数:");int n = sc.nextInt();int a = shulie(n);System.out.print(a);}public static int shulie(int n){if(n ==1||n == 2){return 1;}return shulie(n-1) + shulie(n-2);}
}

10、写一个函数,接收一个整数n,判断这个数是不是质数。(质数是只能被1和它本身整除 的自然数,1本身不是质数)

package com.fxm.day04.test;
public class Day04Test10{public static void main(String[] args){test10(); }public static int test10(){java.util.Scanner sc = new java.util.Scanner(System.in);System.out.println("输入一个数:");int n = sc.nextInt();for(int i = 2;i < n;i++){if(n % i == 0){System.out.println("不是质数");break;}else if(i == n-1){System.out.println("是质数");}}return 0;}
}

Java 新手习题()相关推荐

  1. Java新手会遇到的三大误区,一定要避免!

    很多学习java技术的学员都是零基础学员,之前对java技术一点都不了解,所以java新手在学习java技术的时候很容易进入误区,下面小编分享的Java新手会遇到的三大误区,一定要避免! 作为目前最为 ...

  2. 课工场java新手基础教程_Java新手学习路线,学Java不走弯路

    Java新手学习路线,学Java不走弯路 很多人都会有一个疑问,就是学习Java能看懂,但是不会写,所以学习Java一定要掌握一个有效率的学习方法,一个适合自己的学习方法,作为一个新人,千万不要自己瞎 ...

  3. 编写java程序的常见问题_Java程序的编写与执行、Java新手常见的问题解决

    原标题:Java程序的编写与执行.Java新手常见的问题解决 今天,我们来写一段Java程序.然后看看Java程序是如何执行的,以及Java新手小白遇到的问题和解决办法. HelloWorld的编写 ...

  4. Java新手看招 常用开发工具介绍

    Java新手看招 常用开发工具介绍 Java的应用越来越广泛,学习Java的人也越来越多.学过程序设计的人知道,使用Basic进行程序设计,可以使用QBasic.Visual Basic等开发工具:使 ...

  5. 在java中开发图形用户_2016年计算机二级考试《JAVA》习题:编写图形用户界面

    第9章 编写图形用户界面 1[单选题]哪个布局管理器使用的是组件的尺寸? ( ) A.FlowLayout B.BorderLayoutC.GridLayout D.CardLayout 参考答案:A ...

  6. 从Java新手到大神需要学哪些知识?

    互联网的高速发展,诞生了越来越多的新兴行业,无论行业如何发展,Java一直都是使用频率最高的编程语言之一,自然也就吸引了越来越多的人加入行业.那么,Java新手到大神可有什么好的学习路线?下面,小千就 ...

  7. java webservice接口开发_给Java新手的一些建议----Java知识点归纳(J2EE and Web 部分)

    J2EE(Java2 Enterprise Edition) 刚出现时一般会用于开发企业内部的应用系统,特别是web应用,所以渐渐,有些人就会把J2EE和web模式画上了等号.但是其实 J2EE 里面 ...

  8. java初学课程_作为java新手应该学习什么课程

    照目前IT行业发展趋势,学java的人越来越多,因为java的应用范围广,薪资待遇在IT行业里也是名列前茅,那么,作为java新手应该学习什么课程呢?动力节点java学院的小编来告诉大家新手应该学哪些 ...

  9. Java新手学习路线

    ------Java新手学习路线------ 第一阶段:J2SE(java基础部分) java开发前奏; . ①计算机基本原理,Java语言发展简史以及开发环境的搭建,体验Java程序的开发,环境变量 ...

最新文章

  1. jdk8新特性 lambda表达式详解
  2. 我离开Uber,开始自主创业后......
  3. 科普丨人工智能发展的S曲线
  4. mysql+实例夯住的监控_Nagios 里面监控MySQL 监控事务夯住(RUNNING)报警通知
  5. RDD(弹性分布式数据集)
  6. c语言课设报告时钟vc环境,C语言课程设计报告模拟时钟转动程序
  7. asmcmd:Connected to an idle instance.
  8. 在使用springMVC时,页面报的404异常
  9. mysql sql能力_MySQL SQL优化
  10. JavaScript 实现模拟拖放
  11. 不使用任何判断比较两个整数
  12. 【状压dp】【POJ2288】Islands and Bridges【Hamilton路】
  13. Excel与对齐的文本文件互转
  14. 电子书:《网页木马攻防实战》
  15. QQ对话框、背景渐变色
  16. 放牛娃谈堆排序---(为了说明白,我重新学习了如何说“人话”)
  17. 什么是CDN,为什么用CDN,如何用CDN
  18. Python(贪心算法)问题 D: 删数问题_输入一个高精度的正整数N,去掉其中任意S个数字后剩下的数字按原左右次序组成一个新的正整数。
  19. android开源轮播图框架,最好用的轮播插件框架都在这里了,Github流行轮播框架...
  20. 大一集训--c++ set集合

热门文章

  1. POJ-3041 匈牙利算法 二分图最大匹配
  2. eclipse 中文_谁说API必须用英文?中文API的Java库可以有!
  3. python怎么放音乐_python怎么播放音乐
  4. 计算机考上研究生暑假去哪里实习_浅谈化工与计算机行业
  5. 调用另一个cpp的变量_再谈条件变量—从入门到出家
  6. oracle中exp/imp讲解
  7. 深入浅出MFC文档/视图架构之文档
  8. python gif_python 将png图片格式转换生成gif动画
  9. 设置框开始隐藏状态html5,小猿圈分享HTML5中form如何关闭自动完成功能的方法
  10. 【转】DICOM通信 - PDU数据包(1)