• 实训作业4


    Person

    public class Person {
        private String name;
    	private int age;
    	public Person(String name,int age){
    		this.name = name;
    		this.age = age;
    	}
    	public Person(){
    		this.name = name;
    		this.age = age;
    	}
    	public Person(String name){
    		this.name = name;
    	}
    	public Person(int age){
    		this.age = age;
    	}
    	public String getname(){
    		return name;
    	}
    	public void setname(String name){
    		this.name = name;
    	}
    	public int getage(){
    		return age;
    	}
        public void setage(int age){
        	if(age<0){
        		this.age=0;
        	}else{
        		this.age = age;
        	}
        }
    	public void print(){
    		System.out.println("姓名:"+name+",年龄:"+age);
    	}
       public void addage(){
    	   age++;
       }
    }
    

    TestPerson

    public class TestPerson {
    
    	public static void main(String[] args) {
         Person p1 = new Person("张三",16);
         p1.addage();
         p1.print();
         Person p2 = new Person("李四");
         p2.setage(18);
         p2.addage();
         p2.print();
         Person p3 = new Person();
         p3.setname("王五");
         p3.setage(20);
         p3.addage();
         p3.print();
    //     p1.adult();
    //     p2.adult();
    //     p3.adult();
         int i=0;
         if(p1.getage()>=18){
        	 i++;
         }
        if(p2.getage()>=18){
        	 i++;
         }
        if(p3.getage()>=18){
        	 i++;
         }
         System.out.print("成年人数为:"+i);
    	}
    
    }
    

    1.编写“电费管理类”及其测试类。
    第一步 编写“电费管理”类
    私有属性:上月电表读数、本月电表读数
    构造方法:无参、2个参数
    成员方法:getXXX()方法、setXXX()方法
    成员方法:显示上月、本月电表读数
    第二步 编写测试类
    创建对象一:上月电表读数为1000,本月电表读数为1200。
    要求:调用无参构造方法创建对象;

         调用setXXX()方法初始化对象;
    
         假设每度电的价格为1.2元,计算并显示本月电费。
    
    public class dianfei {
    	  private double s1,s2;
    	  public dianfei(){
    	   }
    	   public dianfei(double s1,double s2){
    		   this.s1 = s1;
    		   this.s2 = s2;
    	   }
    	   public double gets1(){
    		   return s1;
    	   }
    	   public void sets1(int s1){
    		   this.s1 = s1;
    	   }
    	   public double gets2(){
    		   return s2;
    	   }
    	   public void sets2(int s2){
    		   this.s2 = s2;
    	   }
    	   public void print(){
    		   System.out.println("上月电表读数:"+s1+",本月电表读数:"+s2);
    	   }
    	   public void price(){
    		   double s =0;
    		   s = (s2-s1)*1.2;
    		   System.out.println("本月电费为:"+s);
    	   }
    	}
    

    创建对象二:上月电表读数1200,本月电表读数为1450。
    要求:调用2个参数的构造方法创建并初始化对象;

     调用setXXX()方法修改本月电表读数为1500(模拟读错了需修改);
    

    假设每度电的价格为1.2元,计算并显示本月电费。

    public class Testdianfei {
    
    	public static void main(String[] args) {
    		dianfei d1 = new dianfei();
    		d1.sets1(1000);
    		d1.sets2(1200);
    		d1.print();
    		d1.price();
    		dianfei d2 = new dianfei(1200,1450);
    		d2.sets2(1500);
    		d2.print();
    		d2.price();
    	}
    
    }
    

    编写“圆柱体”类及其测试类。
    3.1 “圆柱体”类

    私有属性:圆底半径、高,
    构造方法:带两个参数
    方法1:计算底面积
    方法2:计算体积
    方法3:打印圆底半径、高、底面积和体积。

    public class yuanzhu {
      private double r,h;
      double PAI = 3.14;
      double s;
      double v;
      public yuanzhu(double r,double h) {
    	  this.r = r;
    	  this.h = h;
      }
      public void s() {
    	  s=r*r*PAI;
      }
      public void v() {
    	  v=r*r*PAI*h;
      }
      public void print() {
    	  System.out.println("圆的半径为:"+r+",圆的高为:"+h+",圆的底面积为:"+s+",圆的体积为:"+v);
      }
    }
    

    3.2 测试类

    创建2个对象,并调用方法

    public class Testyuanzhu {
    
    	public static void main(String[] args) {
    		yuanzhu y1 = new yuanzhu(2.00,4.00);
    		y1.s();
    		y1.v();
    		y1.print();
    		yuanzhu y2 = new yuanzhu(4.00,6.00);
    		y2.s();
    		y2.v();
    		y2.print();
    
    	}
    
    }
    

    4、编写“四则运算类”及其测试类。

    4.1 应用场景

    计算器。能实现简单的四则运算,要求:只进行一次运算。
    4.1 “四则运算”类

    私有属性:操作数一、操作数二、操作符
    构造方法:带两个参数
    构造方法:带三个参数
    方法一:对两个操作数做加运算
    方法二:对两个操作数做减运算
    方法三:对两个操作数做乘运算
    方法四:对两个操作数做除运算

    public class yunsuan {
      private int s1,s2;
      private char f;
      int a,b,c,d;
    public void yunsuan() {
    }
    public yunsuan(int s1,int s2) {
    	this.s1 = s1;
    	this.s2 = s2;
    }
    public  yunsuan(int s1,int s2,char f) {
    	this.s1 = s1;
    	this.s2 = s2;
        this.f = f;	
    }
    public void set1(int s1) {
    	this.s1=s1;
    }
    public void set2(int s2) {
    	this.s2=s2;
    }
    public void set3(char f) {
    	this.f=f;
    }
    public int gets1() {
    	return s1;
    }
    public int gets2() {
    	return s2;
    }
    public char gets3() {
    	return f;
    }
    public void add() {
    	a=s1+s2;
    	System.out.println(s1+"+"+s2+"="+a);
    }
    public void minus() {
    	b=s1-s2;
    	System.out.println(s1+"-"+s2+"="+b);
    }
    public void multiply() {
    	c=s1*s2;
    	System.out.println(s1+"*"+s2+"="+c);
    }
    public void remove() {
    	d=s1/s2;
    	System.out.println(s1+"/"+s2+"="+d);
    }
    }
    

    4.2 测试类

    从键盘输入两个操作数和一个操作符,计算之后,输出运算结果。

    import java.util.Scanner;
    
    public class Testyunsuan {
    
    	public static void main(String[] args) {
    	int s1=0;
    	int s2=0;
    	char f=0;
    	yunsuan y = new yunsuan(s1,s2,f);
    	System.out.println("请输入第一个数:");
    	Scanner x = new Scanner(System.in);
    	s1 = x.nextInt();
    	y.set1(s1);
    	System.out.println("请输入第二个数:");
    	Scanner z = new Scanner(System.in);
    	s2 = z.nextInt();
    	y.set2(s2);
    	System.out.println("请输入操作符:");
    	Scanner m = new Scanner(System.in);
    	f = m.next().charAt(0);
    	y.set3(f);
    	if(f=='+') {
    		y.add();
    	}else if(f=='-') {
    		y.minus();
    	}else if(f=='*') {
    		y.multiply();
    	}else if(f=='/') {
    		y.remove();
    	}else
    		System.out.println("输入错误!");
    	}
    }
    

    写程序的时候private的作用总是不上心,然后数字输不进去然后显示不出来,不报错都不知道自己哪里有错误,问了同学才知道我没针对private做处理。下次还是要多注意细节。

  • 相关阅读:
    剑指21.栈的压入、弹出序列
    剑指20.包含min函数的栈
    剑指19.顺时针打印矩阵
    Java--使用反编译工具,打开jar包,查看源码
    没想到 Unicode 字符还能这样玩?
    angularjs中响应回车事件
    两个很好的angular调试工具-——batarang(stable)和ng-inspector
    基于 ThinkPHP5 的 cltphp 被搜索劫持,篡改首页的解决过程记录
    国内外CDN服务商CNAME特征串调研
    开源中国/码云 README.md上传图片的爬坑记录
  • 原文地址:https://www.cnblogs.com/xiejie95/p/10761430.html
Copyright © 2020-2023  润新知