第1关:for循环的进阶使用-嵌套循环(1)
任务描述
本关需要你实现一个能打印矩形的小程序,效果图如下:
package step1;
public class ForPractice1 {
public static void test() {
/*****start*****/
int i,j;
// 外层控制整体次数,就是有多少层
for(i=1;i<=10;i++){
// 内层控制每一层里面的内容
for(j=1;j<=10;j++){
System.out.print("*");
}
// 每一层结束打印换行
System.out.println();
}
/*****end*****/
}
}
第2关:for循环的进阶使用-嵌套循环(2)
任务描述
请在start-end区域中填充代码,实现两个三角形的打印输出,效果图如下:
package step2;
public class ForPractice2 {
public static void main(String[] args) {
/*****start*****/
int i,j;
//在这里打印出正三角形
// 打印10*10的正三角形
// 外层控制整体次数
for(i=1;i<=10;i++){
// 内层的结束条件为j<=i,第一次进来是1<=1,第二次进来是1<=2,达到一层比一层多一个
for(j=1;j<=i;j++){
System.out.print("*");
}
// 每一层结束打印换行
System.out.println();
}
System.out.println("——————————我是华丽的分界线——————————");
//在这里打印出倒三角形
// 外层控制整体次数
for(i=1;i<=10;i++){
// 因为我们打印的是10*10的倒三角.10则是最大,我们从10开始,10>=1;10>=2,达到每一层少一个
for(j=10;j>=i;j--){
System.out.print("*");
}
// 每一层结束打印换行
System.out.println();
}
/*****end*****/
}
}
第3关:99乘法表
任务描述
本小节需要你打印输出一个99乘法表。
package step3;
public class ForPractice3 {
public static void main(String[] args) {
/*****start*****/
int i,j;
// 这和上一题的正三角形很相似,首先外层控制整体次数
for(i=1;i<=9;i++){
// 内层从图片可以看到是逐步递增的,所以j<=i,
for(j=1;j<=i;j++){
// 在java语言里面,拼接是要用+号,下面则是1*1=1,这里计算j*i建议是括号括起来
System.out.print(j+"*"+i+"="+(j*i)+"\t");
}
// 每一层结束后打印一个换行
System.out.println();
}
/*****end*****/
}
}
第4关:综合练习之ATM取款机
任务描述
本关任务:编写一个ATM取款机小程序,效果图如下:
package step4;
import java.util.Scanner;
public class ForPractice4 {
public static void main(String[] args) {
/*****start*****/
// 从任务里看出来我们的资金是有1k的,这里还要定义t和a,后面会讲到
int money = 1000,t,a=2;
// 初始化一个Scanner,它的变量名为in
Scanner in = new Scanner(System.in);
System.out.println("欢迎使用中国人民银行ATM取款机");
// 我们一开始定义的a为2,目的是为了后续用户结束取款和继续取款
while(a==2){
System.out.println("输入取款金额:");
// t就相当于一个载体,是每一次取款的金额
t = in.nextInt();
// 如果我们取款金额大于我们的资金,那么就打印无法满足,并且continue跳过后续内容
if(t>money){
System.out.println("目前余额:"+money+"无法满足您的取款需求!");
continue;
}else{
// 反之就是可以取款,直接本金减去取款余额
money-=t;
}
// 取款结束会打印剩余余额,并且提示结束还是继续
System.out.println("剩余金额:"+money+",是否继续('1':结束,'2':继续):");
// 接收用户输入的结束或是继续的操作
a = in.nextInt();
}
System.out.println("取款结束!");
/*****end*****/
}
}