Java day04 Loop
day04_课后练习
第一题
- 语法点:运算符,while,if
编写步骤:
- 定义类 Test1
- 定义 main方法
- 定义变量i为0,i2为10
- 使用第一个while循环,当条件为
i小于5
时,则进入循环 - 循环内,i自增,i2自增
- 循环内,使用if判断,当
i大于等于 2
并且i2小于15
时,同时输出i和i2的值 - 使用第二个while循环,当条件为
i2小于20
时,则进入循环 - 循环内,i自增,i2自增
- 循环内,使用if判断,当
i大于8
或者i2小于等于18
时,同时输出i和i2的值
第二题
语法点:方法,运算符,for,while
编写步骤
定义类 Test2,定义 main方法
main方法中,定义int类型变量 a为1
使用while循环,判断a<=5,进入循环.
while循环内部,使用for循环,初始化int类型变量b为1,当b<=5时进入循环, 步进表达式b++
for循环内,不换行输出i并拼接” “
for循环外,输出换行.
for循环外,a自增.
第三题
语法点:运算符,for,if
编写步骤
- 定义类 Test5
- 定义 main方法
- 定义变量jj为20,a为0,b为0
- 使用for循环,初始化值ii为0,当
ii<jj
时进入循环,步进表达式为ii+=2,jj自减 - 循环内,使用if判断ii被3整除,ii赋值给a,并输出ii拼接”Hello”
- 不被3整除,ii赋值给b,并输出ii拼接”World”
- 循环外,按照格式,打印a与b的乘积
第四题
- 语法点:运算符,for,switch
- 打印星座信息
开发提示:
- 1-12的规律数字,可以使用for循环处理
- 根据不同的数字,匹配显示不同的文字,可以使用switch匹配
第五题
语法点:运算符,for,if
案例需求:从键盘分别输入年、月、日,使用循环for+if实现,判断这一天是当年的第几天
注:判断一年是否是闰年的标准:
1)可以被4整除,但不可被100整除
2)可以被400整除
- 开发提示:
- 循环1-month月
- 在循环中判断该月是31天、30天、28/29天,分别累加
第六题
案例需求:假设从2000年1月1日开始三天打鱼,两天晒网,从键盘输入今天的日期年、月、日,显示今天是打鱼还是晒网?
第七题
打印倒三角形,效果如图所示:
开发提示:
平面图形涉及到有行有列,考虑到嵌套for循环
一个外循环控制行,两个内循环控制输出内容
一个内循环负责输出空格,另一个内循环输出”*”
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18public class SpringPractice01
{
public static void main(String[] args)
{
for(int i = 5; i > 0; i--)
{
for(int k = 5; k > i; k--)
{
System.out.print(" ");
}
for(int j = 1; j <= i; j++)
{
System.out.print("* ");
}
System.out.println();
}
}
}1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17*
* *
* * *
* * * *
* * * * *
for(int i = 1; i <= 5; i++)
{
for(int j = 5; j > i; j--)
{
System.out.print(" ");
}
for(int k = 1; k <= i; k++)
{
System.out.print("* ");
}
System.out.println();
第八题
打印『X』对称图形,效果如图所示:
开发提示:
- 平面图形涉及到有行有列,考虑到嵌套for循环
- 一个外循环控制行,一个内循环控制输出内容
- 在内循环中,根据变量的变化规律,判断输出”O”还是”*”
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21public class SpringPractice01
{
public static void main(String[] args)
{
for(int i = 1; i <= 7; i++)
{
for(int j = 1; j <= 7; j++)
{
if(j == i || j == 8 - i)
{
System.out.print("O");
}
else
{
System.out.print("*");
}
}
System.out.println();
}
}
}
第九题
打印菱形
或
开发提示:
- 平面图形涉及到有行有列,考虑到嵌套for循环
- 一个外循环控制行,两个内循环控制输出内容
- 一个内循环负责输出空格,另一个内循环输出”*”
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31/*
Seperate function for up-bottom and bottom-up
*/
for(int i = 1; i <= 5 ; i++)//1
{
int row = 5;
for(int j = row * 2 - 1; j > i * 2 - 1; j--)
{
System.out.print(" ");
}
for(int k = 1; k < i * 2; k++)
{
System.out.print("* ");
}
System.out.println();
}
for(int i = 5; i >= 1; i--)
{
int row = 5;
for(int j = 2 * i - 1; j < row * 2 - 2; j++)
{
System.out.print(" ");
}
for(int j = i * 2 - 1; j >= 1; j--)
{
System.out.print("* ");
}
System.out.println();
}
Diamond
1 | public class SpringPractice01 |