第1关:for循环的进阶使用-嵌套循环(1)

1、编程要求:

是时候检验一下了,在start-end区域中填充代码打印出一个10*10的矩形,效果如下:

注意:每次只允许输出一颗星*:

2、测试效果:

3、程序设计思路

(1)利用for的嵌套循环,外层代表行,内层代表列,每一个内层结束后换一行。

4、程序实现:

packagestep1;public classForPractice1 {public static voidtest() {/*****start*****/

for(int i=0;i<10;i++){for ( int j= 0;j <10; j++){

System.out.print(“*”);

}

System.out.println();

}/*****end*****/}

}

第2关:for循环的进阶使用-嵌套循环(2)

1、编程要求:

请在start-end区域中填充代码,实现两个三角形的打印输出,效果图如下:

2、测试效果:

3、程序设计思路:

(1)采用for的嵌套循环,和上一题的矩形不同,并不是每行都有星,所以内层循环数要发生变换。

(2)考虑行和列的关系,行数等于列的*数,所以内层循环的次数应该与行数相同。

(3)分割线上下就是用自减运算符代替自增运算符,变量初始值发生改变。

4、程序实现:

packagestep2;public classForPractice2 {public static voidmain(String[] args) {/*****start*****/

//在这里打印出正三角形

for(int x=0;x<10;x++){for(int y=0;y<=x;y++){

System.out.print(“*”);

}

System.out.println();

}

System.out.println(“——————————我是华丽的分界线——————————”);//在这里打印出倒三角形

for(int x=10;x>0;x–){for(int y=x;y>0;y–){

System.out.print(“*”);

}

System.out.println();

}/*****end*****/}

}

第3关:99乘法表

1、编程要求:

在右侧Begin-End区域中填充代码,打印输出一个99乘法表,效果图如下:

提示:文中两个表达式之间的间隔使用的是 制表符;

2、测试要求:

3、程序设计思路:

(1)注意观察,和上一题进行比较,采用for的嵌套循环时,循环次数的规律和上一题是一样的。

(2)注意第二个乘数是固定,所以第二个乘数应当是外层变量。

4、程序实现:

packagestep3;public classForPractice3 {public static voidmain(String[] args) {/*****start*****/

for(int i=1;i<10;i++){for(int j=1;j<=i;j++){

System.out.print(j+“*”+i+“=”+i*j+" ");

}

System.out.println();

}/*****end*****/}

}

第4关:综合练习之ATM取款机

1、编程要求:

在右侧编辑器Begin-End中编写代码,完成和效果图一致的功能。

2、测试效果:

我会对你的程序进行若干次测试,以此来判断你是否完成了本关任务。

第一次测试会输入: 10029991001

需要你的程序输出:

注意:平台会输入数据,但是输入的数据不会显示在输出结果中,所以标红部分是我输入的部分,不需要你输出,

其余部分都需要你进行打印输出,输出的符号除了单引号和双引号分号之外其他的全都要使用中文标点。

即预期输出为:

欢迎使用中国人民银行ATM取款机

输入取款金额:

剩余金额:900,是否继续(‘1’:结束,‘2’:继续):

输入取款金额:

目前余额:900无法满足您的取款需求!

输入取款金额:

剩余金额:800,是否继续(‘1’:结束,‘2’:继续):

取款结束!

3、程序设计思路:

(1)观察题目:若输入金额足够支付,则会产生是否继续选项。若不足以支付,不会产生继续选项,自动跳转到下一步取钱操作,所以存在continue跳出本轮循环。

(2)需要循环辅助重复内部的一系列取钱操作,没有涉及到具体次数,所以采用while或者do…while都可以。

(3)需要多个if语句用于判断是否进行对应操作。

4、程序实现:

packagestep4;importjava.util.Scanner;public classForPractice4 {public static voidmain(String[] args) {/*****start*****/

int money = 1000;int cash = 0;int isornot = 0;

Scanner input=newScanner(System.in);

System.out.println(“欢迎使用中国人民银行ATM取款机”);do{

System.out.println(“输入取款金额:”);

cash=input.nextInt();if(money >=cash)

{

money=money-cash;

}else{

System.out.println(“目前余额:”+money+“无法满足您的取款需求!”);continue;

}

System.out.println(“剩余金额:”+money+“,是否继续(‘1’:结束,‘2’:继续):”);

isornot=input.nextInt();if(isornot==1)

{break;}

}while(money>0);

System.out.println(“取款结束!”);/*****end*****/}

}

第5关:选择题

1、选择题答案:D  BC  B

先自我介绍一下,小编13年上师交大毕业,曾经在小公司待过,去过华为OPPO等大厂,18年进入阿里,直到现在。深知大多数初中级java工程师,想要升技能,往往是需要自己摸索成长或是报班学习,但对于培训机构动则近万元的学费,着实压力不小。自己不成体系的自学效率很低又漫长,而且容易碰到天花板技术停止不前。因此我收集了一份《java开发全套学习资料》送给大家,初衷也很简单,就是希望帮助到想自学又不知道该从何学起的朋友,同时减轻大家的负担。添加下方名片,即可获取全套学习资料哦

更多推荐

Educoder - Java入门 - 循环结构进阶各关卡题目总结