第三章作业题答案

选择:
A BD A BD D
注:第四题和第五题做错选为:AC C

  1. 第2题:switch (##)
    ##处的数据类型为:byte short int char
    char a=100; 注意没有单引号

  2. 第4题:函数重载时对返回数据类型不做检查,但形参数量或类型必须变化,B和原函数是同一函数,D中形参数据个数和类型和原函数相同

  3. 第5题:非静态变量,形参并不影响实参

编程:

在这里插入图片描述
1.

/**
 * 第三章练习题选择题部分
 * 
 * @author 王立生
 *
 */
public class Exercise01 {
	public static void main(String[ ] args) {
		
		//题目1
	    boolean a=true;
	    boolean b=false;
	    if (!(a&&b)) {
	        System.out.print("!(a&&b)");
	    }else if (!(a||b)) {
	        System.out.println("!(a||b)");
	    }else {
	        System.out.println("ab");
	    }
	    
	    //题目2
	    char x=100;
	    //int x=100;  可行
	    //double  x=100;  不可行
	    //String x="100";  不可行
	    switch(x) {
	    case 100 :
	        System.out.println("One hundred");
	        break;
	    case 200 :              
	        System.out.println("Two hundred");                 
	        break;
	    case 300 :
	        System.out.println( "Three hundred");
	        break;
	    default :
	        System.out.println( "default");    
	    }
	    
	    //题目3
	    int sum=0;
        for(int i=1;i<10;i++){
            do{
                i++;
                if(i%2!=0)
                    sum+=i;
            }while(i<6);
        }
        System.out.println(sum);
        
        
        //答案:A  BD   A  ...  (D)
        
        
        int i = 99;
        mb_operate(i); //该语句不影响i的取值       
        System.out.print(i + 100);
    }
    static void mb_operate(int i) {
        i += 100;
	    
	}
}

/**
 * 第三章练习题编程题部分
 * 
 * @author 王立生
 * 
 * 题目: 从键盘输入某个十进制整数数,转换成对应的二进制整数并输出。
 *
 */
import java.util.Scanner;
public class Exercise02 {
	public static void main(String[] args){
		
		Scanner sc=new Scanner(System.in);
		System.out.println("输入一个正整数:");
		int a=sc.nextInt();
		
		int b;
		int i=0;
		int c=0;
		String str="";   //创建空字符串

		while(a!=0){
			b=a/2;
			i++;
		    c=a-b*2;
		    str=c+str;  //将余数依次从左至右存入;
			a=a/2;
		}
		System.out.print(str);
		
		
		/*此程序不足,只能实现倒序输出
		 
		int b;
		int i=0;
		int c=0;
		String str="";

		while(a!=0){
			b=a/2;
			i++;
		    c=a-b*2;
			a=a/2;
		System.out,print(c);
		}
		*/
		
		
		
		/*或者用以下方法:
		
		String sbinary=Integer.toBinaryString(a);
		int binary=Integer.parseInt(sbinary);
		System.out.println(binary);
		*/
			
		}
		
	}
/**
 * 第三章练习题
 * 
 * @author 王立生
 *
 * 题目:求∑1+∑2+……+∑100
 */
public class Exercise03 {
	public static void main(String[] args){
		
		int he=0;
		for(int j=100;j>=1;j--){
			
			int sum=0;
			for(int i=j;i>=1;i--){
				sum+=i;
			}
			
			he+=sum;
		}
		System.out.println(he);
	}

}

/**
 * 第三章练习题
 * 
 * @author 王立生
 *
 * 题目:编写递归算法程序:一列数的规则如下: 1、1、2、3、5、8、13、21、34...... 求数列的第40位数是多少。
 */
import java.util.Scanner;
public class Exercise04 {
	public static void main(String[] args){
		
		Scanner sc=new Scanner(System.in);
	    System.out.println("输入要查找的第几个数:");
	    int n=sc.nextInt();
	    System.out.println("第"+n+"个数为:"+func(n));
	    
	}
	    
	    static int func(int n){
	    	if (n<=2){
	    		return 1;   //递归头
	    	}else{          //递归体:n=f(n-1)+f(n-2)
	    		n=func(n-1)+func(n-2);
	    	}
	    	return n;
	    }

	}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值