通过 javac、java 等命令编译并运行程序,运行程序结果如图 5-1 所示。
3-2:含有返回值的方法的使用
目的
本实验将介绍带有返回值的方法的使用,了解如果调用带有返回值的方法。
要求
写出下列代码的运行结果,并给出正确运行结果的截图。
内容
编程实现调用带有返回值的方法,并在屏幕上输出调用后的结果。分别定义返回值为整
形、字符型、双精度等的方法,为了简单,方法中可以不做任何操作,直接将已定义的变量
值返回。运行后效果如图 3-2 所示。
实现思路
首先利用定义含有返回值的各种方法,
如:返回值为整型的,返回值为字符型的,返
回值为双精度型的。在主方法里,可以直接调
用各种方法,将其返回值直接输出至屏幕。
关键代码如下所示:
//获取整型变量,返回值为 int 型
public int getInt()
{return a;}
//获取字符型变量,返回值为 char 型
public char getChar()
{return c;}
//获取单精度型变量,返回值为 float 型
public float getFloat()
{return f;}
//获取双精度型变量,返回值为 double 型
public double getDouble()
{return d;}
//获取字符串对象变量,返回值为 String 型
public String getString()
{return str;}
//main 方法中可以直接调用这些已经定义的方法。
//定义各种类型的类变量
private int a = 100;
private char c = 'C';
private float f = 3.0f;
private double d = 4.0;
private String str = "Hello";
//将方法的返回值输出
System.out.println(getInt());
System.out.println(getChar());
System.out.println(getFloat());
System.out.println(getDouble());
System.out.println(getString());
通过 javac、java 等命令编译并运行程序,运行程序结果如图 3-2 所示。
图 3-2 运行结果
11
3-3:使用对象模拟“商店客户折扣卡”功能
目的
面向对象的基本概念,包括类、对象、属性
以及方法。在这个基础上,用两个面向对象的简
单程序,充分体会面向对象编程的方法。
要求
写出下列代码的运行结果,并给出正确运行
结果的截图。
内容
编程实现一个模拟的用户消费信用卡的示
例,在其中用户 Customer 类具有用户名、地址、
卡号、消费额度、可以享受的打折度等多种个人
信息;而 CustomerDemo 类中建立 3 个消费者,
对其分别进行操作,模拟其行为。运行后效果如
图 3-3 所示。
实现思路
简单模拟了一个商店客户折扣卡的功能,自定义 Customer 类用来保存在某个商店中的
客户的折扣卡信息。在主类 CustomerDemo 中,创建 Customer 类的一个数组对象,该数组中
包含了三个 Customer 的对象,用来保存三个不同的消费者各自持有的折扣卡信息。通过这
三个对象,可以根据用户消费的金额来改变用户在本店中所能享受的折扣价格。
关键代码如下所示:
//声明三个消费用户 Customer 对象
Customer customer[] = new Customer[3];
public CustomerDemo()
{
//创建并初始化所声明的三个 Customer 对象
customer[0] = new Customer("c0001","wangxyw","BeiJing","wangxyue@cn.ibm.com");
customer[1] = new Customer("c0002","Xu Quan","ShangHai","chunticha@yahoo.com");
customer[2] = new Customer("c0003","Xu Guang
Yang","BeiJing","xugy@hotmail.com");
//customer[0]用户消费 2800.00 元
customer[0].buy(2800.00);
//设置用户下次购物所能享受的折扣
customer[0].setDiscount();
//customer[1]用户消费 1688.00 元
customer[1].buy(1688.00);
//设置用户下次购物所能享受的折扣
customer[1].setDiscount();
//customer[2]用户消费 980.00 元
customer[2].buy(980.00);
//设置用户下次购物所能享受的折扣
customer[2].setDiscount();
//显示所有用户的全部信息
图 3-3 运行结果
12
for (int i = 0; i < customer.length; i++)
{
System.out.println("customer["+i+"]");
System.out.println("cardID:"+customer[i].getCardID());
System.out.println("name:"+customer[i].getName());
System.out.println("cost:"+customer[i].getCost());
System.out.println("discount:"+customer[i].getDiscount()*10);
System.out.println("address:"+customer[i].getAddress());
System.out.println("email:"+customer[i].getEmail()+"\n");
}
}
class Customer
{
private String cardID; //用于折扣卡卡号
private String name; //用户名
private double cost = 0; //用户消费金额
private String address; //用户住址
private String email; //用户 email
private double discount = 1; //用户所能享受的折扣
public Customer(String id,String name,String add,String email)
{
cardID = id;
this.name = name;
address = add;
this.email = email;
}
//当用于购买商品后,增加用户消费值
public void buy(double cost)
{ this.cost += cost; }
//根据用户的消费额度来改变用户所能享受的折扣
public void setDiscount()
{
if(cost>2000.00)
discount -= 0.1;
else if(cost>1000.00)
discount -= 0.05;
}
//用于获取和设置用户地址的方法
public String getAddress()
{ return address;}
public void setAddress(String address)
{ this.address = address;}
//用于获取和设置用户卡号的方法
public String getCardID()
{ return cardID; }
public void setCardID(String cardID)
{ this.cardID = cardID;}
//用于获取用户消费金额的方法
public double getCost()
{ return cost; }
//用于获取用户地折扣值的方法
public double getDiscount()
{ return discount; }
13
//用于获取和设置用户信箱地址的方法
public String getEmail()
{ return email; }
public void setEmail(String email)
{ this.email = email; }
//用于获取和设置用户名的方法
public String getName()
{ return name; }
public void setName(String name)
{ this.name = name;}
}
通过 javac、java 等命令编译并运行程序,运行程序结果如图 3-3 所示。
3-4:学生成绩显示(二)
目的
通过该实验,完成大作业的第二部分内容,熟悉 Java 语言的面向对象表达方式。
要求
写出主要代码,并给出正确运行结果的截图。
内容
按面向对象的思路 ,可对 3 课程成绩进行管理。分别输入 3 门课程的学生姓名、学号、
平时分数、期末分数,可按总评成绩进行排序显示,可按姓名或学号查询。
14
课堂作业 4
4-1:学习构成子类与父类之间的方法覆盖(重写)
目的
通过简单实例了解构成方法覆盖的条件,而方法若想要构成覆盖,首先方法的唯一标识
必须与被重写方法完全相同,其次参数列表也必须完全一致。
要求
写出下列代码的运行结果,并给出正确运行结果的截图。
内容
编程实现一个子类覆盖父类的方法 startUp,声明一个指向子类对象,类型为父类的对
象 v,并调用方法 startUp。运行后效果如图 4-1 所示。
图 4-1 运行结果
实现思路
首先定义 Vehicle 父类、Car 子类继承 Vehicle 类作为父类。在 main 方法中声明变量 v 为
Vehicle 类型,指向 Car 对象。Car 类中方法 startUp 与 Vehicle 类中方法 startUp 的参数列表
不一样,不满足构成重写的条件。对方法的调用使用的是父类 Vehicle 中方法的唯一标识。
关键代码如下所示:
class Vehicle
{
public void startUp()
{
System.out.println("一般车辆的启动方法!!");
}
}
class Car extends Vehicle
{
public void startUp(int i)
{
System.out.println("轿车的启动方法!!");
}
}
//main 方法中的调用
public static void main(String[] args)
{
//创建对象与调用方法
Vehicle v=new Car();
System.out.print("实际调用的方法为:");
v.startUp();
}
通过 javac、java 等命令编译并运行程序,程序运行结果如图 4-1 所示。
15
版权所有:留学生编程辅导网 2020 All Rights Reserved 联系方式:QQ:99515681 微信:codinghelp 电子信箱:99515681@qq.com
免责声明:本站部分内容从网络整理而来,只供参考!如有版权问题可联系本站删除。