Java汇集接口、异常处理、常用使用类和集合等技术的实验项目

一、实验目的

运用和掌握接口、异常处理、常用实用类和集合课程中的绝大部分技术

二、实验内容

1,创建一个水果接口,接口中定义水果被购买的行为,然后编写多个水果接口的实现类,例如Apple()、Banana()、Pear()。再创建一个主类,主类中执行各水果接口实现类的Buy()方法。
2,在主类中,创建异常处理方法check(),用于检测购买水果的斤数
3,在主类中,实例化Scanner类,用来实现用户的输入

三、实验环境

OS:Windows 10、编译环境:eclipse

四、实验过程描述

下面展示一些 内联代码片

Project:FruitShop
主类:FruitShop.java
Fruit接口:Fruit.java
各实现类:Apple.java、Banana.java、Pear.java
// FruitShop.java(源代码):
import java.util.Scanner;

public class FruitShop {
	public static double check(double i) throws Exception {// 创建check方法,用于检测购买水果的斤数
		if (i < 0)// 如果i小于0
			throw new Exception("所购买的水果不能小于0斤!");// 抛出一个Exception异常对象
		return i;
	}

	public static void main(String[] args) {
		int x = 0;// 购买水果选择项
		double i = 0;// 购买斤数
		double sum = 0;// 结算金额
		Fruit ap = new Apple();// 实例化Apple类
		Fruit ba = new Banana();// 实例化Banana类
		Fruit pe = new Pear();// 实例化Pear类
		Scanner sc = new Scanner(System.in);// 实例化Scanner类
		System.out.println("请选择你需要购买的水果:(苹果1、香蕉2、雪梨3)");
		x = sc.nextInt();// 输入所要购买水果的数字
		switch (x) {// 根据输入的数值,选择相应的输出语句
		case 1: {
			System.out.println("请输入你需要多少斤这种水果:");
			i = sc.nextDouble();// 输入要购买的斤数
			try {
				double a = check(i);// 调用check方法
				sum = ap.Buy(i);
				System.out.println("合计:" + sum + "元");
			} catch (Exception e) {// 捕获Exception异常
				System.out.println("数据逻辑错误!");
				System.out.println("原因:" + e.getMessage());
			}
			break;
		}

		case 2: {
			System.out.println("请输入你需要多少斤这种水果:");
			i = sc.nextDouble();
			try {
				double a = check(i);
				sum = ba.Buy(i);
				System.out.println("合计:" + sum + "元");
			} catch (Exception e) {// 捕获Exception异常
				System.out.println("数据逻辑错误!");
				System.out.println("原因:" + e.getMessage());
			}
			break;
		}
		case 3: {
			System.out.println("请输入你需要多少斤这种水果:");
			i = sc.nextDouble();
			try {
				double a = check(i);
				sum = pe.Buy(i);
				System.out.println("合计:" + sum + "元");
			} catch (Exception e) {// 捕获Exception异常
				System.out.println("数据逻辑错误!");
				System.out.println("原因:" + e.getMessage());
			}
			break;
		}
		default:
			System.out.println("以上没有匹配的");
		}
	}
}
// Fruit.java (源代码):
public interface Fruit {//创建Fruit接口
	public double Buy(double i);
}
// Apple.java (源代码):
public class Apple implements Fruit {//Apple实现接口
	public double Buy(double i) {
		double price = 5;// 水果单价
		double sum = price * i;// 水果总价
		return sum;
	}
}
// Banana.java (源代码):
public class Banana implements Fruit {// Banana实现接口
	public double Buy(double i) {
		double price = 6;// 水果单价
		double sum = price * i;// 水果总价
		return sum;
	}
}
// Pear.java (源代码):
public class Pear implements Fruit {// Pear实现接口
	public double Buy(double i) {
		double price = 7;// 水果单价
		double sum = price * i;// 水果总价
		return sum;
	}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

jadenmong

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值