Java分支和循环的的练习 - 程序的结构
- 流程图
- 分支结构
- 循环结构
- 多重循环结构
(前面的都是课堂上的练习,最后两段是家庭作业)
求1——100的和
(前面的都是课堂上的练习,最后两段是家庭作业)
package com.mt;
/*** 用while循环求1-100的和* @author mt**/
public class QiuHe {public static void main(String[] args) {int sum&#61;0;int i&#61;1;while (i<&#61;100) {sum&#61;sum&#43;i;i&#61;i&#43;1; }System.out.println("sum&#61;" &#43; sum);}
}
package com.mt;
/*** 用do····while循环求1-100的和* &#64;author mt**/
public class QiuHeDo {public static void main(String[] args) {int sum&#61;0;int i&#61;1;do {sum&#61;sum&#43;i;i&#61;i&#43;1;} while (i<&#61;100);System.out.println(sum);
package com.mt;
/*** 有for循环求1-100的和* &#64;author mt**/
public class QiuHeFor {public static void main(String[] args) {int sum&#61;0;for (int i &#61; 1; i <&#61;100; i&#43;&#43;) {sum&#61;sum&#43;i;}System.out.println("sum&#61;" &#43; sum);}
}
计算1-100之间的偶数的和
package com.mt;
/*** 求1-100的偶数和* &#64;author mt**/
public class QiuOuShuHe {public static void main(String[] args) {int sum&#61;0;for (int i &#61; 2; i <&#61;100; i&#43;&#61;2) {sum&#61;sum&#43;i;}System.out.print (sum );}
}
求1/1 &#43; 1/2 &#43; 1/3 &#43;···········&#43; 1/10的和
package com.mt;public class Test2 {public static void main(String[] args) {double sum&#61;0;for (int i &#61; 1; i <&#61;10; i&#43;&#43;) { sum&#61;sum&#43;1.0/i;}System.out.println(sum);}
}
阶乘
package com.mt;import java.util.Scanner;public class QiuJianSheng {public static void main(String[] args) {Scanner sc &#61; new Scanner(System.in);System.out.print("输入数字&#xff1a;");int a&#61;sc.nextInt();double sm&#61;1;for (int i &#61; a;i >0; i--) {sm&#61;sm*i;}System.out.println(a&#43;"阶乘是&#xff1a;"&#43;sm);sc.close();}
}
输入两个正整数m和n&#xff0c;计算m^n^
package com.mt;import java.util.Scanner;public class QiuCiFang {public static void main(String[] args) {Scanner sc &#61; new Scanner(System.in);System.out.println("输入数字m&#xff1a;");int m&#61;sc.nextInt();System.out.println("输入数字n&#xff1a;");int n&#61;sc.nextInt();int nm&#61;1;for (int i &#61; 1; i <&#61;n; &#43;&#43;i) {nm&#61;nm*m;}System.out.println(m&#43;"的"&#43;n&#43;"次方"&#43;"&#61;"&#43;nm);sc.close();}
}
找出1-100之间的素数(质数)
老师的代码
public class Test12 {public static void main(String[] args) {for(int i &#61; 1; i <&#61; 100; i&#43;&#43;) {// 假定当前的i是素数将isPrime赋值为trueboolean isPrime &#61; true; // 在2-(i-1)之间找寻i的因子for(int j &#61; 2; isPrime && j <&#61; i - 1; j&#43;&#43;) {// i能被j整除说明它不是素数if(i % j &#61;&#61; 0) {// 将isPrime修改成false表示i不是素数isPrime &#61; false;}}// 如果isPrime的值是true说明i是素数就打印它if(isPrime) {System.out.println(i);}}}
}
找出100-999之间的水仙花数。
提示&#xff1a;水仙花数是各位立方和等于这个数本身的数&#xff0c;如153&#61;1^3^&#43;5^3^&#43;3^3^
package com.mt;public class Find {public static void main(String[] args) {for (int i &#61;100; i <&#61; 999; i&#43;&#43;) {int a&#61;i%10;int b&#61;i/10%10;int c&#61;i/100;if (i&#61;&#61;a*a*a&#43;b*b*b&#43;c*c*c){System.out.println(i);}}}}
九九表
package com.lovoinfo;public class Test09 {public static void main(String[] args) {for(int i &#61; 1; i <&#61; 9; i&#43;&#43;) {for(int j &#61; 1; j <&#61; i; j&#43;&#43;) {System.out.printf("%d*%d&#61;%d\t", i, j, i * j);}System.out.println();}}
}
输出直角三角形图案。
老师的代码
package com.lovoinfo;public class Test10 {private static final int ROW &#61; 10;public static void main(String[] args) {for(int i &#61; 1; i <&#61; ROW; i&#43;&#43;) {for(int j &#61; 1; j <&#61; i; j&#43;&#43;) {System.out.print("*");}System.out.println();}System.out.println("\n---华丽的分隔线---\n");for(int i &#61; 1; i <&#61; ROW; i&#43;&#43;) {for(int j &#61; ROW; j >&#61; i; j--) {System.out.print("*");}System.out.println();}System.out.println("\n---华丽的分隔线---\n");for(int i &#61; 1; i <&#61; ROW; i&#43;&#43;) {for(int j &#61; 1; j <&#61; ROW; j&#43;&#43;) {if((ROW - i) >&#61; j) {System.out.print(" ");}else {System.out.print("*");}}System.out.println();}}
}
百钱百鸡
第一段是老师写的&#xff0c;二段是自己写的
public class Test14 {public static void main(String[] args) {System.out.println("公鸡\t母鸡\t小鸡");// 假设公鸡x只, 母鸡y只, 小鸡z只for(int x &#61; 0; x <&#61; 20; x&#43;&#43;) {for(int y &#61; 0; y <&#61; 33; y&#43;&#43;) {int z &#61; 100 - x - y;if(5 * x &#43; 3 * y &#43; z / 3 &#61;&#61; 100 && z % 3 &#61;&#61; 0) {System.out.printf("%d\t%d\t%d\n", x, y, z);}}}}
}
package com.mt;public class Test7 {public static void main(String[] args) {for (int x &#61; 0; x <&#61; 20; x&#43;&#43;) {for (int y &#61; 0; y <&#61; 33; y&#43;&#43;) {for (int z &#61; 0; z <&#61;99; z&#43;&#43;) {if ((x&#43;y&#43;z&#61;&#61;100) && (5*x&#43;3*y&#43;z/3&#61;&#61;100 ) && z%3&#61;&#61;0) {System.out.printf("%d,%d,%d\n",x,y,z);}}}}}
}
作业1&#xff1a;找出1-100之间的完美数。
提示&#xff1a;完美数是该数除自身外的所有因子之和等于这个数本身的数。如28&#61;1&#43;2&#43;4&#43;7&#43;14。
新手自己写的&#xff0c;能运行&#xff0c;但不确定是否就是完全正确的&#xff0c;如果有大神发现哪有错&#xff0c;希望能帮忙指出下&#xff0c;谢谢&#xff01;&#xff01;&#xff01;
package com.mt;public class FindWanMeiShu {public static void main(String[] args) {for (int i &#61; 1; i <&#61;100; i&#43;&#43;) {int a&#61;0;for (int j &#61; 1; j <&#61;i-1; j&#43;&#43;) {if (i%j&#61;&#61;0) {a&#61;a&#43;j;}}if (i&#61;&#61;a) {System.out.println(i);}}}
}
作业2&#xff1a;输入两个正整数&#xff0c;计算最大公约数和最小公倍数。
package com.mt;import java.util.Scanner;public class Shu {public static void main(String[] args) {Scanner sc &#61; new Scanner(System.in);System.out.print("输入第一个正整数a&#xff1a;");int a&#61;sc.nextInt();System.out.print("输入第二个正整数b&#xff1a;");int b&#61;sc.nextInt();int d&#61;0;for (int i &#61; 1; ; i&#43;&#43;) {if (i%a&#61;&#61;0 && i%b&#61;&#61;0) {System.out.println(a&#43;"和"&#43;b&#43;"的最小公倍数是&#xff1a;"&#43;i);break;}}for (int i &#61;1; i<&#61;a||i<&#61;b ; i&#43;&#43;) {if (a%i&#61;&#61;0 && b%i&#61;&#61;0 ) {d&#61;i;} }System.out.println(a&#43;"和"&#43;b&#43;"的最大公约数是&#xff1a;"&#43;d);sc.close();}
}