概述
文章目录
- 嵌套循环的初步理解使用
- 例题1:输入七行“*”,每行依次递增一个
- 例题2:打印如下的图形:菱形1
- 例题2的引申
- 经典例题:打印九九乘法表(这里用for循环)
- 质数输出的实现方式一<前100的质数>
嵌套循环的初步理解使用
- 嵌套循环的使用:将一个循环结构A声明在另一个循环结构B的循环体中,就构成了嵌套循环
外层循环:循环结构B
内层循环:循环结构A
例题1:输入七行“*”,每行依次递增一个
答案代码:
package qiantaoxunhuan;
public class A {
public static void main(String[] args) {
for (int i = 0; i <7 ; i++) {
for (int j = 0; j <i ; j++) {
System.out.print("*");//不加ln不换行
}
System.out.println("*");
}
}
}
形如此题类型的题目:注意内循环和外循环,分别控制了什么(行或者列)
技巧:外层控制行数,内层控制列数
例题2:打印如下的图形:菱形1
答案代码:
package qiantaoxunhuan;
public class B {
public static void main(String[] args) {
// 上半部分
for (int i = 0; i < 5; i++) {
// 输出“-”
for (int j = 0; j < 4 - i; j++) {
System.out.print(" ");
}
// 输出“* ”
for (int k = 0; k < i + 1; k++) {
System.out.print("* ");//*后面有个空格
}
System.out.println();
}
// 下半部分
for (int i = 0; i < 4; i++) {
for (int j = 0; j < i + 1; j++) {
System.out.print(" ");
}
for (int k = 0; k < 4 - i; k++) {
System.out.print("* ");
}
System.out.println();
}
}
}
例题2:打印如下图形:棱形2
答案代码:
package qiantaoxunhuan;
public class C {
public static void main(String[] args) {
//上半部分
for (int i = 0; i <5 ; i++) {
for (int j = 0; j <5-i; j++) {
System.out.print("*");
}
for (int k = 0; k < i ; k++) {
System.out.print(" ");
}
for (int j = 0; j <i; j++) {
System.out.print(" ");
}
for (int k = 0; k < 5 - i; k++) {
System.out.print("*");
}
System.out.println();
}
//下半部分
for (int i = 2; i <6; i++) {
for (int j = 0; j <i; j++) {
System.out.print("*");
}
for (int k = 0; k < 5- i; k++) {
System.out.print(" ");
}
for (int j = 0; j <5-i; j++) {
System.out.print(" ");
}
for (int k = 0; k < i ; k++) {
System.out.print("*");
}
System.out.println();
}
}
}
注解:把打印图分成8个部分,则依次打印每一部分。外层控制行数,内层控制列数,先打印上半部分的5行然后是下半部分的
四行,上半部分的又分为四个部分,两个星星倒三角和两个空白正三角,以此类推
例题2的引申
如果把两个部分的分别的第四部分删了,再把空格和*呼唤,打印出来的就是例题2的中间空白的棱形
答案代码:
package qiantaoxunhuan;
public class C2 {
public static void main(String[] args) {
for (int i = 0; i <5 ; i++) {
for (int j = 0; j <5-i; j++) {
System.out.print(" ");
}
for (int k = 0; k < i ; k++) {
System.out.print("*");
}
for (int j = 0; j <i; j++) {
System.out.print("*");
}
System.out.println();
}
for (int i = 2; i <6; i++) {
for (int j = 0; j <i; j++) {
System.out.print(" ");
}
for (int k = 0; k < 5- i; k++) {
System.out.print("*");
}
for (int j = 0; j <5-i; j++) {
System.out.print("*");
}
System.out.println();
}
}
}
运行结果:
经典例题:打印九九乘法表(这里用for循环)
答案代码(未对齐):
package qiantaoxunhuan;
public class D9x9 {
public static void main(String[] args) {
for (int i = 1; i <=9 ; i++) {//控制行数(九行)
for (int j = 1; j <=i ; j++) {//控制列数(第几行就有几列)
System.out.print(j+"x"+i+"="+i*j+" ");
}
System.out.println();
}
}
}
运行结果:
小问题存在:这里的3x3和3x4并不齐
答案代码2.0(简单对齐):
package qiantaoxunhuan;
public class D9x9 {
public static void main(String[] args) {
for (int i = 1; i <=9 ; i++) {//控制行数(九行)
for (int j = 1; j <=i ; j++) {//控制列数(第几行就有几列)
if (j==2&&(i==3||i==4)){//用if语句简单对齐
System.out.print(j+"x"+i+"="+i*j+" ");
}else {
System.out.print(j+"x"+i+"="+i*j+" ");
}
}
System.out.println();
}
}
}
运行结果:
质数输出的实现方式一<前100的质数>
质数:素数,只能被1和他本身整除的自然数(最小质数为2)
答案代码:
package qiantaoxunhuan;
public class E {
public static void main(String[] args) {
for (int i = 2; i <=100 ; i++) {//遍历100以内自然数
boolean isFlag=true;//标识i是否被j除尽,一旦除尽,修改其值
for (int j = 2; j <i ; j++) {
if (i%j==0){//i被j除尽
isFlag=false;
}
}
if (isFlag==true){
System.out.println(i);
}
}
}
}
重点:关于质数的输出的代码优化看Java输出100以内的质数(及其代码优化详程)
最后
以上就是难过冷风为你收集整理的Java中嵌套循环的使用的全部内容,希望文章能够帮你解决Java中嵌套循环的使用所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复