实训作业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做处理。下次还是要多注意细节。

原文地址:https://www.cnblogs.com/xiejie95/p/10761430.html