Java面向对象程序设计(第二版)袁绍欣 第二章课后习题答案

1.答案:D

解析:java中标识符的组成由52个字母A-Z ,a-z ,数字0-9 ,下划线_ , 美元符$ 组成,不能以数字开头,不能是关键字,不能有空格。

2.哪些数据类型可以充当 switch 语句的条件?

答:int char byte short 枚举 String

3.答案:C

解析:首先 if 里面 x=y 是一个赋值语句,结果为y的值1,本身不符合语法;其次 y 是 int 类型,if 里面只能是 boolean ,类型不匹配,会报错。

4.定义一个浮点变量s,写成“Float s = 2.3;”错在什么地方?如何修改正确?

答:首先,末尾有个f代表浮点数,不然默认double类型;其次,Float为对应的包装类,应该为float。

5.答案:B

解析:i++ 是先运算,再加一,所以最后 i 加了 1 ,而 && 符号前面为假时,后面就不执行了,所以 j 没有加 1 。

6.定义一个一维数组有哪几种方法?

答:三种。
首先: 一维数组的声明 ; 代码如下

int[] ary1; //Java推荐的数组声明方式
int ary2[]; // 不推荐,但也是正确的,C语言等使用这种方式

其次: 声明和赋值

//参考一
int[] ary1 = {1,2,3};// 声明的时候,同时赋值
//参考二  
int[] ary2 = new int[3];//指定数组的长度为3
    ary2[0] = 1; //数组下标从0开始, 依次给每个元素赋值
    ary2[1] = 2;
    ary2[2] = 3;
//参考三  
int[] ary3 = new int[] {1,2,3}; //注意, 这里的new int[]方框里不能指定长度

7.编写JavaApplication,求出 e=1+1/1!+1/2!+1/3!+···+1/n!···的近似值,要求误差小于0.00001。

public class JavaApplication{
	public static void main(String[] args) 
	{
	  int i,j,k=1,n=100;  //n写大一点,后面有循环打破
	  double e=1.0;
	  for (j=1;j在这里插入图片描述

8.利用可变列数组实现乘法口诀打印。

public class List {

	public static void main(String[] args) {
		int n,i,j;
		int[][] a=new int[9][];
		for(n=1;n<=9;n++) {
			a[n-1] = new int[n];
		}

        for(i=1;i<=9;i++){
        	for(j=1;j<=i;j++){
        		a[i-1][j-1]=i*j;
        		System.out.print(i+"x"+j+"="+a[i-1][j-1]+"\t");
        	}
    
        	System.out.println("");  //默认换一次行
        }
	}
}

运行结果(可以在Ecilpse上运行):

1x1=1	
2x1=2	2x2=4	
3x1=3	3x2=6	3x3=9	
4x1=4	4x2=8	4x3=12	4x4=16	
5x1=5	5x2=10	5x3=15	5x4=20	5x5=25	
6x1=6	6x2=12	6x3=18	6x4=24	6x5=30	6x6=36	
7x1=7	7x2=14	7x3=21	7x4=28	7x5=35	7x6=42	7x7=49	
8x1=8	8x2=16	8x3=24	8x4=32	8x5=40	8x6=48	8x7=56	8x8=64	
9x1=9	9x2=18	9x3=27	9x4=36	9x5=45	9x6=54	9x7=63	9x8=72	9x9=81	

9.编程输出。

图形:

*
*.*.
*..*..*..
*...*...*...*...
*....*....*....*....*....
*.....*.....*.....*.....*.....*.....
*......*......*......*......*......*......*......
*.......*.......*.......*.......*.......*.......*.......*.......

代码:

public class List {

	public static void main(String[] args) {
		int n,i,j;

        for(i=1;i<=8;i++){
        	for(j=1;j<=i;j++){
        		System.out.print("*");
        		for(n=1;n<=i-1;n++){
        			System.out.print(".");
        		}
        	}
        	System.out.println("");  //默认换一次行
        }
	}
}

你可能感兴趣的:(Java面向对象程序设计(第二版)袁绍欣 第二章课后习题答案)