Java方法学后练习

一、选择

  1. 下列代码的运行结果为:       C                                                         
    1. A. 没有任何输出
      B. 编译错误
      C. 晓明今年7岁了
      D. 晓明
      
  2. 下列代码运行的结果是( B )                                                                                            
    A. Hello,My name is Tom.
    B. Hello,My name is Peter.
    C. Hello,My name is Peter.My name is Tom.
    D. My name is Peter.
    
  3. 下列语句的执行结果为(  D  )                                                                                              
    A. 运行异常
    B. 运行错误
    C. 我的英文名字叫Tom
    D. 什么都不输出
    
  4. 下面这段程序的执行结果为:    C                                                                           
    A. 12
    B. a+b+c=12
    C. a+b+c=16
    D. 16
    
  5. 已知如下代码,则位置(1)处正确的方法调用代码为?   A                                                                     
    A. method.display(arr);
    B. method.display(arr[0]);
    C. method.display(a);
    D. method.display(a[0]);
    
  6. 已知方法的定义形式如下:public void plus(int a,int b){}  AC
    下列选项中哪两个是合法的重载方法?(多选)
    A. public int plus(int a){}
    B. public int plus1(int m,int n){}
    C. public void plus(float a,float b){}
    D. public int plus(int a,int b){}
    
  7. 下列代码,前者与后者是重载关系的是:A
    A. public void show(){}和public void show(int num){}
    B. public void show(){}和public void print(int num){}
    C. public void show(){}和public int show(){}
    D. public void show(int a){}和    public void show1(int b){}
    
  8. 以下代码的输出结果是什么 ?     D                                                                                                       
    A. 40
    B. 8
    C. 4
    D. 10
    
  9. 以下代码的输出结果是什么?         D                                                          
    A. 2
    B. 3
    C. 4
    D. 6
    
  10. 关于可变参数列表的描述正确的是   BC
    A. 当可变参数列表作为方法参数时,不能将数组传递给可变参数列表
    B. 一个方法中,只能有一个可变参数列表作为参数
    C. 重载的方法中,可变参数列表作为参数的重载方法不会优先被调用
    D. 数组作为方法参数时,可以将多个值同时传递给数组
    

二、编程

  1. 定义一个方法,根据商品总价,计算出对应的折扣并输出。折扣信息如下:

    • 总价<100,不打折
    • 总价在100到199之间,打9.5折
    • 总价在200以上,打8.5折

    任务:
    1、定义一个方法,根据商品总价输出折后总价
    2、在主方法中定义对象
    3、使用对象调用定义的方法

    public class DisCountDemo {
    	//根据计算多个商品的总价,输出折后总价
    	public double DisCount(double...n){
    		double sum = 0;
    		for (double i : n) {
    			sum += i; 
    		}
    		if (sum < 100){
    			System.out.print("商品总价为:" + sum +"元,不打折");
    		}
    		if (sum>=100 && sum <199) {
    			System.out.print("商品总价为:" + sum +"元,打9.5折,折后价为:");
    			sum*=0.95;
    			System.out.print(sum + "元");
    		}
    		if (sum > 200) {
    			System.out.print("商品总价为:" + sum +"元,打8.5折,折后价为:");
    			sum*=0.85;
    			System.out.print(sum + "元");
    		}
    		return sum;
    	}
    	public static void main(String[] args) {
    		//定义对象
    		DisCountDemo dcd = new DisCountDemo ();
    		//定义多个商品价格存放到数组中
    		double[] arr = {40.5,20.8,30.7,50.4};
    		//调用方法,输出折后商品总价
    		dcd.DisCount(arr);
    	}
    }
  2. 编写方法,求数组元素的平均值。
    任务:
    1、定义一个方法,求数组的平均值
    2、在主方法中定义对象,并初始化一个float类型的数组,调用方法求数组元素的平均值,并将平均值打印输出

    public class AverageDemo {
    	//求数组元素的平均值
    	public void Average(float[] a) {
    		double average = 0,sum = 0;
    		for (int i = 0;i < a.length;i++) {
    			sum += a[i];
    		}
    		average = sum / a.length;
    		System.out.println("平均值为:" + average);
    	}
    	public static void main(String[] args) {
    		//定义对象
    		AverageDemo ad = new AverageDemo();
    		//创建float类型的数组并初始化
    		float[] arr = {33f,44f,55f,66f,77f,88f};		
    		//调用方法求平均值并打印输出
    		ad.Average(arr);	
    	}
    }
  3. 定义两个重载的方法,分别求圆和长方形的面积。
    任务:
    1、 定义两个求面积的重载方法,圆周率可以使用Math.path这个常量代替
    2、在主方法中调用方法并输出

    public class AreaDemo {
    	//求圆形面积
    	//Math.PI 记录的圆周率
    	public double area (double r) {
    		return Math.PI*r*r;
    	}
        //求长方形面积
    	public double area (double length,double width) {
    		return length*width;
    	}
    	public static void main(String[] args) {
    		//定义对象
    		AreaDemo ad = new AreaDemo();
    		//定义一个double类型的变量存放半径,并初始化
    		double r = 5;
    		//定义两个变量存放长和宽,并初始化
    		double l = 3, w = 4;
    		//调用方法,求圆的面积并打印输出
    		System.out.println(ad.area(r));
    		//调用方法,求长方形面积并打印输出
    		System.out.println(ad.area(l,w));
    		
    	}
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值