第四次上机课

时间:2021-11-30 14:23:37

 

1.编写“人”类及测试类。

1)我想要统计这三个对象中,有多少是成年人(年龄大于等于18岁)并输出人数。请添加相应代码。

代码:

package class4;

public class person {
private String name;
private int age;
public person() {

}
public person(String name) {
this.name = name;
}
public person(int age) {
this.age = age;
}
public person(String name,int age) {
this.name = name;
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 printMessage() {
System.out.println("姓名为:"+name+"年龄为:"+age);
}
public void addAge() {
age++;
}
}

测试类:

package class4;
public class Testperson {
public static void main(String[] args) {
person a[]= new person[3];
a[0]=new person("小明",18);
a[0].addAge();
a[0].printMessage();
a[1]=new person("小红");
a[1].setAge(20);
a[1].addAge();
a[1].printMessage();
a[2]=new person("小刚",19);
a[2].printMessage();
int n=0;
for(int i=0;i<3;i++) {
if(a[i].getAge()>18) {
n++;
}
}
System.out.println("成年人数为:"+n);
}
}

运行结果:

第四次上机课

2. 编写“电费管理类”及其测试类。

²  第一步 编写“电费管理”类

1)私有属性:上月电表读数、本月电表读数

2)构造方法:无参、2个参数

3)成员方法:getXXX()方法、setXXX()方法

4)成员方法:显示上月、本月电表读数

²  第二步 编写测试类

1)创建对象一:上月电表读数为1000,本月电表读数为1200。

   要求:调用无参构造方法创建对象;

         调用setXXX()方法初始化对象;

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

2)创建对象二:上月电表读数1200,本月电表读数为1450。

   要求:调用2个参数的构造方法创建并初始化对象;

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

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

代码:

package class4;
import java.util.*;
public class dianfei {
 private double shangyue;
 private double benyue;
 public dianfei(){ 
 }
 public dianfei(double shangyue,double benyue){
  this.shangyue = shangyue;
  this.benyue = benyue;
 }
 public double getBenyue(){
  return benyue;
 }
 public double getShangyue(){
  return shangyue;
 }
 public void setbenyue(double benyue){
   this.benyue = benyue;
 }
 public void setshangyue(double shangyue){
   this.shangyue = shangyue;
 }
 public void myprint(){
  System.out.println("上月电表读数为:"+shangyue);
  System.out.println("本月电表读数为:"+benyue);
 }
 
}

 测试类:

package class4;
public class Testdianfei {
 public static void main(String[] args) {
  dianfei x1=new dianfei();
  x1.setshangyue(1000);
  x1.setbenyue(1200);
  x1.myprint();
  System.out.println("本月电费为:"+(x1.getBenyue()-x1.getShangyue())*1.2);
  dianfei x2=new dianfei(1200,1450);
  x2.setbenyue(1500);
  x2.myprint();
  System.out.println("本月电费为:"+(x2.getBenyue()-x2.getShangyue())*1.2);
 }
}
运行结果:
第四次上机课

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

3.1 “圆柱体”类

²   私有属性:圆底半径、高,

²   构造方法:带两个参数

²   方法1:计算底面积

²   方法2:计算体积

²   方法3:打印圆底半径、高、底面积和体积。

3.2 测试类

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

代码:

package class4;
public class cylinder {
private int r;
private int h;
public cylinder(int r,int h) {
this.r=r;
this.h=h;
}
public int getR() {
return r;
}
public int getH() {
return h;
}
public double space(int r) {
double s;
s=r*r*3.14;
return s;
}
public double bulk(double s,int h) {
double v;
v=s*h;
return v;
}
public void myprint() {
System.out.println("圆柱体底面半径为:"+r+"高为:"+h);
double s,v;
s=space(r);
v=bulk(s,h);
System.out.println("底面积为:"+s+"体积为:"+v);
}
}

测试类:

package class4;
public class Testcylinder {
public static void main(String[] args) {
cylinder a1=new cylinder(1,2);
double s1;
s1=a1.space(a1.getR());
a1.bulk(s1, a1.getH());
a1.myprint();
cylinder a2=new cylinder(3,4);
double s2;
s2=a2.space(a2.getR());
a2.bulk(s2, a2.getH());
a2.myprint();
}
}

运行结果:

第四次上机课

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

4.1 应用场景

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

4.1 “四则运算”类

²   私有属性:操作数一、操作数二、操作符

²   构造方法:带两个参数

²   构造方法:带三个参数

²   方法一:对两个操作数做加运算

²   方法二:对两个操作数做减运算

²   方法三:对两个操作数做乘运算

²   方法四:对两个操作数做除运算

4.2 测试类

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

代码:

 

package class4;
public class yunsuan {
private int x1;
private int x2;
private String x3;
public yunsuan(int x1,int x2) {
this.x1=x1;
this.x2=x2;
}
public yunsuan(int x1,int x2,String x3) {
this.x1=x1;
this.x2=x2;
this.x3=x3;
}
public int getx1() {
return x1;
}
public int getx2() {
return x2;
}
public String getx3() {
return x3;
}
public void jia(int x1,int x2) {
int sum;
sum=x1+x2;
System.out.println("结果为:"+sum);
}
public void jian(int x1,int x2) {
int sum;
sum=x1-x2;
System.out.println("结果为:"+sum);
}
public void chen(int x1,int x2) {
int sum;
sum=x1*x2;
System.out.println("结果为:"+sum);
}
public void chu(int x1,int x2) {
double sum;
sum=x1/x2;
System.out.println("结果为:"+sum);
}
}

测试类:

 

package class4;
import java.util.Scanner;
public class Testyunsuan {
public static void main(String[] args) {
int x1 = 0;
int x2=0;
String x3 = null;
yunsuan s1=new yunsuan(x1,x2,x3);
Scanner rd=new Scanner(System.in);
System.out.print("请输入第一个数据:");
x1=rd.nextInt();
System.out.print("请输入第二个数据:");
x2=rd.nextInt();
System.out.print("请输入运算符:");
x3=rd.next();
switch(x3) {
case "+": s1.jia(x1,x2);break;
case "-": s1.jian(x1, x2);break;
case "*": s1.chen(x1, x2);break;
case "/": s1.chu(x1, x2);break;
}
}
}

运行结果:

 第四次上机课 第四次上机课 第四次上机课 第四次上机课