Java练习 发表于 2015-04-09 更新于 2025-01-16 分类于 Java Waline: 阅读次数: 第一题:打印心形,中心有 I Love Java 字样1234567891011121314151617181920212223/**分析: 通过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的矩形123**************** ··· 12345678910111213141516171819202122/**分析: 可以通过两个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的等腰三角形123456 * *** ***** **************** 123456789101112131415161718192021222324252627282930/** 分析: 五行的等腰三角形: 第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保存两者之差, 分析过程123456789101112131415161718192021/** 分析:本题目类似于 “不通过第三个变量,交换两个变量的值”问题,借鉴改题目的思路 首先出于生活常识,两个变量之和等于 (变量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); }}