Java练习

第一题:

打印心形,中心有 I Love Java 字样

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
/**


分析: 通过print语句直接打印即可。
*/
public class ILoveJava {
public static void main(String[] args){
/*
* 手工画图法画出浪漫心形,表达对Java的热爱
*/
System.out.println(" * * * * * * ");
System.out.println(" * * * ");
System.out.println(" * I Love Java * ");
System.out.println(" * * ");
System.out.println(" * * ");
System.out.println(" * * ");
System.out.println(" * * ");
System.out.println(" * * ");
System.out.println(" * * ");
System.out.println(" * ");
//嗯嗯,很赞!
}
}

第二题

打印20*8的矩形

1
2
3
********
********
···
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
/**

分析: 可以通过两个for循环自定义任意长宽的矩形,通过不换行打印矩形最基本的单位“*”,使用换行符分隔每一行
定义四个变量,两个自增变量k和l,两个行和列的变量i,j。
后续只需要修改i和j的初始值即可修改矩形的行列数。
*/

public class juxing {
public static void main(String[] args){
int i = 8; //定义列的数目
int j = 20; //定义行的数目
int k = 0; //自增变量,勿动
int l = 0; //自增变量,勿动
for(; l < j; l++){ //外部循环,决定了行数
for(; k < i; k++){ //外部循环,决定了列数
System.out.print("*"); //矩形的最基本单位 “*”
}
System.out.print("\n"); // 换行
k = 0; // 自增列变量,恢复初值
}
}
}

第三题

打印高度为5的等腰三角形

1
2
3
4
5
6

*
***
*****
*******
*********
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
/**

分析:
五行的等腰三角形:
第1行:4空格,1个*
第2行:3空格,3个*
第3行:2空格,5个*
第4行:1空格,7个*
第5行:0空格,9个*
不难看出规律,共计5行,作为一个大循环,空格递减作为一个小循环,*个数递增作为一个小循环。
*/
public class triangle {
public static void main(String[] args){
int i , j , k;
// i 为 最下面一行打印*的个数, j为各行打印*的个数, k为各行打印空格的个数。
for(i = 1; i <= 9 ; i+=2){//打印*的个数,大循环
for(k = 0;k < (9-i)/2 ; k++ ){
//打印空格的个数,每行递减
System.out.print(" ");
}

for(j = 0 ; j < i ; j++){
//打印*,递增2
System.out.print("*");
}
//换行
System.out.print("\n");
}
}
}

第四题

声明两个double型变量var1和var2并赋值. 然后再用var1保存两者之和, 再用var2保存两者之差, 分析过程

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
/**
分析:本题目类似于 “不通过第三个变量,交换两个变量的值”问题,借鉴改题目的思路
首先出于生活常识,两个变量之和等于 (变量1 + 变量2),两者之差等于 (变量1 - 变量2)
其中把两者之和保存到变量1里,var1 = var1 + var2;
然后(两者之和 - 变量1 = 变量2,两者之差 = 变量1 - 变量2)
故两者之差 var2 = var1 - var2 - var 2 ,即 var2 = var1 - var2 * 2;
*/
public class three {
public static void main(String[] args){
// 随机设置 两个double变量
double var1 = 357878.1544d;
double var2 = 11454.64785d;
// 求出两者之和
var1 = var1 + var2;
// 求出两者之差
var2 = var1 - var2 * 2;
// 打印结果
System.out.println("两者之和是:"+var1);
System.out.println("两者之差是:"+var2);
}
}