Java基础逻辑语句训练题
流程控制语句训练
qirz
这个作者很懒,什么都没留下…
展开
-
将一个3x4阶矩阵转置。
矩阵转置就是将一个矩阵的行、列互换package qq;public class qq { public static void main(String[] args) { int a[][]= {{1,2,3,4},{5,6,7,8},{9,10,11,12}}; int b[][]= new int[4][3]; int i=0;int j=0; System.out.println("矩阵转置前:"); for(i=0;i<3;i++) {原创 2021-04-13 14:51:04 · 4844 阅读 · 0 评论 -
求出4阶矩阵的最大元素及其所在的行号和列号
package qq;public class qq { public static void main(String[] args) { int arr[][]= {{1,2,3,4},{5,6,7,8},{9,10,11,600},{12,13,100,20}}; int i=0;int j=0;int row=0;int col=0;int max=arr[0][0]; //先假设arr[0][0]是最大数 System.out.println("4阶矩阵是: ")原创 2021-04-13 14:35:32 · 605 阅读 · 0 评论 -
从低到高将从命令行中读取的一组数字进行升序排列
package qq;public class qq { public static void main(String[] args) { int[]a=new int[args.length]; for(int i=0;i<args.length;i++) { //获取命令行参数的长度 a[i]=Integer.parseInt(args[i]); //把字符串转换为整型 } System.out.pri原创 2021-04-13 11:21:41 · 281 阅读 · 0 评论 -
输入一组整数到一维数组中,求这组数的平均值,并分别统计出这一组数中正数和负数的个数。
package qq;public class qq { public static void main(String[] args) { int i =args.length;//获取命令行参数的长度 int[] arr=new int[10]; int num =0; int k=0; int p=0; for(int j=0;j<i;j++) { arr[j]=Integer.parseInt(args[j]); if(arr[j]原创 2021-04-12 17:01:52 · 2035 阅读 · 0 评论 -
判断某一年是否闰年
一般能被4整除的年份是闰年;但如果是世纪年(正百年),就只有能被400整除才是闰年,否则就是平年。package qq;public class qq { public static void main(String[] args) { //args[0]表示命令行的第一个参数并把它由字符串转换为整形 int year = Integer.parseInt(args[0]); int leap; //1表示闰年,0表示不是闰年 if(year%4 ==原创 2021-04-12 14:32:29 · 239 阅读 · 0 评论 -
计算100以内的质数和
计算100以内的质数和质数是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数。最小的质数是2。package qq;public class qq { public static void main(String[] args) { int i,n,sum=0; //i遍历2~100,n遍历2~(n-1),sum表示质数和 for(i=2;i<=100;i++) { for(n=2;n<i;n++) { //如果i在2~(n原创 2021-03-12 11:43:25 · 6676 阅读 · 0 评论 -
角谷的猜想
角谷猜想问题:日本一位中学生发现一个奇妙的“定理”,请角谷教授证明,而教授无能为力,于是产生角谷猜想。猜想的内容是:任给一个自然数,若为偶数除以2,若为奇数则乘3 加1,得到一个新的自然数后按照上面的法则继续演算,若干次后得到的结果必然为1。试编写代码验证该猜想是否正确。package qq;public class qq { public static void main(String[] args) { long a=6521l; while(!(a==1)) {原创 2021-03-10 17:44:46 · 226 阅读 · 0 评论 -
繁衍类型问题
一个农场有头母牛,现在母牛才一岁,要到四岁才能生小牛,四岁之后,每年生一头小牛。假设每次生的都是母牛,并且也遵守4 年才生育并生母牛的原则,并且无死亡,请问n 年后共有多少头牛?先口算发现其中规律:年份12345678910数量111234691319很容易发现f(n)=f(n-1)+f(n-3),典型的斐波那契数列类型的问题,可以直接套用。方法一:使用递归package qq;public class qq { publ原创 2021-03-10 17:02:27 · 253 阅读 · 2 评论 -
斐波那契数列
斐波那契数列斐波那契数列指的是这样一个数列 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233,377,610,……注:第0项是0;第1项、第二项是1;从第三项开始,每一项都等于前两项之和。以递推的方法定义:F(0)=0,F(1)=1, F(n)=F(n - 1)+F(n - 2)(n ≥ 2,n ∈ N*)方法一:用递归实现。这种实现方法最简单,但是效率太低了,当n>=50时,你会发现计算时间明显变长package qq;public原创 2021-03-10 16:41:40 · 235 阅读 · 1 评论 -
30 的阶乘
计算30 的阶乘需要注意的是30的阶乘很大用int肯定就造成了溢出,所以在声明时要用double。package qq;public class qq { public static void main(String[] args) { double m=1; for(int i=1;i<=30;i++) { m*=i; } System.out.println("30的阶乘是"+ m); }}运行结果30的阶乘是2.65252859812原创 2021-03-08 17:39:13 · 5754 阅读 · 0 评论 -
猴子吃桃
一只猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个,第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个,第10 天早上想再吃时,发现只剩下一个桃子了。请问猴子第一天一共摘了多少个桃子?首先思考前一天的桃子????是几个?设今天有n个桃子,那么昨天应该有2(n+1)个桃子。很多人在这块转不过来弯,我来画图说明:package qq;public class qq { public static void main(String[] args)原创 2021-03-08 17:13:18 · 225 阅读 · 0 评论 -
如果苹果1 元/个, 桔子2 元/个, 芒果4 元/个,若是用10 元去买,有几种组合呢?
如果苹果1 元/个, 桔子2 元/个, 芒果4 元/个,若是用10 元去买,有几种组合呢?package qq;public class qq { public static void main(String[] args) { int i=0; for(int a=0;a<=10;a++) { //苹果数量 for(int b=0;b<=5;b++) { //桔子数量 for(int c=0;c<=2;c++) { //芒果数量原创 2021-03-05 15:37:59 · 596 阅读 · 1 评论 -
最小公倍数
最小公倍数两个或多个整数公有的倍数叫做它们的公倍数,其中除0以外最小的一个公倍数就叫做这几个整数的最小公倍数,。最大公约数与最小公倍数的关系:a,b的最大公约数记为(a,b)。最小公倍数记为[a,b]。我们有这样的定理:(a,b)x[a,b]=ab(a,b均为整数)方法一:按定义求,从小到大找到第一个能整除a与b的数,即为最小公倍数。package qq;public class qq { public static void main(String[] args) { int a = 5;原创 2021-03-05 13:15:07 · 686 阅读 · 0 评论 -
判断质数(素数)
判断质数(素数)质数指只能被1 和自身整除自然数,最小的质数是2。实现思路:只要n能整除【2,n-1】中任意一个数,那么n就不是质数。package qq;public class qq { public static void main(String[] args) { int n = 17; boolean b = true; //存储是否是质数,假设是质数 for(int i = 2;i < n;i++){ //如果整除,则不是质数 if(n % i == 0)原创 2021-03-04 16:29:11 · 277 阅读 · 1 评论 -
金字塔
金字塔在控制台打印出如下图形 * *** ***** ****************第一种思路:每行的内容分为两部分:空格和星号,每行空格的数量是5 减去行号,每行星号的数量是行号的2 倍减1 个,先打印空格,再打印星号,打印完星号以后换行。package qq;public class qq { public static void main(String[] args) { for(int row = 1;row <= 5;row++){ //循环行原创 2021-03-04 15:51:37 · 247 阅读 · 3 评论 -
99乘法表
99乘法表实现思路:使用一个循环控制打印9 行,在该循环的循环体中输出该行的内容,一行中输出的个数等于行号,值等于行号和列号的乘积。package qq;public class qq { public static void main(String[] args) { // TODO Auto-generated method stub for(int row = 1;row <= 9;row++){ //循环行 for(int col = 1;col <= row;原创 2021-03-04 15:06:50 · 1211 阅读 · 1 评论 -
水仙花数
水仙花数水仙花数指三位数中,每个数字的立方和和自身相等的数字。实现思路:把三位数拆分成个位、十位和百位3个数字,判断3 个数字的立方和是否等于自身。for(int i = 100;i < 1000;i++){ //所有的三位数int a = i % 10; //个位数字int b = (i / 10) % 10; //十位数字int c = i / 100; //百位数字//判断立方和等于自身if(a * a * a + b * b * b + c * c * c ==i){Syst原创 2021-03-04 11:20:10 · 162 阅读 · 1 评论 -
最大公约数
JAVA求最大公约数最大公约数指两个数字公共的约数中最大的1.第一种思路:从1 开始循环,每次把符合要求(即同时是两个数字的约数)的值都存储起来,那么最后一个存储起来的就是最大的约数。int n = 4;int m = 8;int result = 1;for(int i = 1;i <= n;i++){if((n % i == 0) && (m % i == 0)){result = i;}}System.out.println(result);2.第二种思原创 2021-03-04 10:26:55 · 836 阅读 · 1 评论