练习1:判断奇偶
练习2:使用for打印棱形
练习3:用while循环计算1+1/2!+1/3!+...1/20!
1 /* 2 * 3 *Excise by http://www.cnblogs.com/WhoMercy 4 * 5 */ 6 public class Exercise { 7 public static void main(String[] args){ 8 int x=1; 9 System.out.println("练习题1:辨别x的值是奇数还是偶数。 x=" + x); 10 float a=x; 11 a=a/2;//a为浮点型(float)变量,所以除二后所得商会保留小数 12 x=x/2; 13 /* * 14 * x为整形(int)变量, 15 * 所以除二后所得商会省略小数, 16 * 17 * 假设x为奇数那么除二后, 18 * a的值会保留小数而x的值只保留整数, 19 * 所以a的值将大于x的值 20 * */ 21 if(a==x){//两数相等说明x可以整除2,即x为偶数 22 System.out.println("x是偶数。"); 23 }else{ 24 System.out.println("x是奇数。"); 25 } 26 System.out.println(""); 27 System.out.println("练习题2: 用for循环打印棱形"); 28 char leng[][]=new char[5][5]; 29 for(int i=0;i<leng.length;i++){ 30 for(int j=0;j<leng.length;j++){ 31 if(2==i+j){//在棱形左上做一条斜边 32 leng[i][j]='*'; 33 }else if(2==i+j||4==i+j&&i!=j&&i!=0&&j!=0||6==i+j){//取棱形的右上斜边中点和左下斜边中点 34 leng[i][j]='*'; 35 }else if(6==i+j){//做棱形的右下做一条斜边 36 leng[i][j]='*'; 37 }else{//在棱形的其他位置填充空白(空格) 38 leng[i][j]=' '; 39 } 40 System.out.print(leng[i][j]); 41 } 42 System.out.println(); 43 } 44 System.out.println(); 45 System.out.println("练习题3: 用while循环计算1+1/2!+1/3!+...1/20!"); 46 int m=1; 47 double n=0; 48 long k=1; 49 //20的阶乘会非常大,因此使用“long”(长整形)。 50 //但是因为使用的是长整形(long)而不是双精度浮点型(double)所以后面计算分数要注意。 51 while(m<21){ 52 k=k*m; 53 n+=(1.0/k); 54 //这边要注意,如果K分之一的“1”是整形,然后K也是长整形,那么得出的结果也将会被强制转换为长整形,小数会被省略掉。 55 //因此“1”要写成“1.0”将分数转换为小数而不是保留整数 56 m++; 57 } 58 System.out.println("和为: " + n +" | k= " + k + " | m= " + m); 59 double sum = 0,b = 1; 60 int i = 1; 61 while(i <= 20) 62 { 63 sum = sum+b; 64 i = i+1; 65 b = b*(1.0/i); 66 } 67 System.out.println(sum); 68 } 69 70 }