Javaコレクションインターフェイス、例外処理、一般的に使用されるクラスとコレクション、およびその他のテクノロジの実験プロジェクト

1.実験の目的

インターフェイス、例外処理、一般的に使用される実践的なクラス、統合されたコースでほとんどのテクニックを使用して習得します

2.実験内容

1.フルーツインターフェイスを作成し、インターフェイスで購入するフルーツの動作を定義してから、Apple()、Banana()、Pear()などの複数のフルーツインターフェイス実装クラスを記述します。メインクラスを再度作成し、メインクラスの各フルーツインターフェイス実装クラスのBuy()メソッドを実行します。
2.メインクラスで、購入した果物のポンド数を検出するために使用される例外処理メソッドcheck()を作成します。3。
メインクラスで、Scannerクラスをインスタンス化してユーザー入力を実装します。

三、実験環境

OS:Windows 10、コンパイル環境:eclipse

4.実験プロセスの説明

以下にいくつか表示します内联代码片

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;
	}
}

おすすめ

転載: blog.csdn.net/weixin_43372169/article/details/110927554