zoukankan      html  css  js  c++  java
  • 推荐书籍、茶叶分级

    package com.zhiyou100.shop;
    
    import java.util.ArrayList;
    
    public class Test {
    
    	public static void main(String[] args) {
    
    		ArrayList<String> aList0 = new ArrayList<String>();
    		aList0.add("射雕英雄传");
    		aList0.add("明朝那些事");
    		aList0.add("数据挖掘导论");
    
    		ArrayList<String> aList1 = new ArrayList<String>();
    		aList1.add("数据挖掘导论");
    		aList1.add("天龙八部");
    
    		ArrayList<String> aList2 = new ArrayList<String>();
    		aList2.add("天龙八部");
    		aList2.add("Java从入门到放弃");
    
    		ArrayList<String> aList4 = new ArrayList<String>();
    		aList4.add("明朝那些事");
    		aList4.add("Java从入门到放弃");
    		aList4.add("数据挖掘导论");
    		
    
    		ArrayList<Double> aDoubles = new ArrayList<Double>();
    	
    		aDoubles.add(semblance(aList0, aList4));
    		aDoubles.add(semblance(aList1, aList4));
    		aDoubles.add(semblance(aList2, aList4));
    
    		
    
    		ArrayList[] aLists = {aList0,aList1,aList2};
    	
    		int i;
    		
    		double max = aDoubles.get(0);
    		int maxIndex = 0;
    		// 遍历求出最大的近似值,相似度
    		for (i = 0; i < aDoubles.size(); i++) {
    			
    			double d = aDoubles.get(i);
    			
    			if (max < aDoubles.get(i)) {
    
    				max = d;
    				
    				maxIndex = i;
    				
    			}
    		}
    
    		
    		ArrayList<String> books = book(aList4, aLists[maxIndex]);
    		
    		System.out.println(books);
    
    	}
    
    	
    	// 根据两个参数 购买记录 1 和 购买记录 2,返回相似度
    	public static double semblance(ArrayList<String> aList1, ArrayList<String> aList2) {
    
    		ArrayList<String> arrayList = new ArrayList<String>();
    
    		for (int i = 0; i < aList1.size(); i++) {
    
    			for (int j = 0; j < aList2.size(); j++) {
    
    				if (aList1.get(i).equals(aList2.get(j))) {
    
    					arrayList.add(aList1.get(i));
    				}
    			}
    		}
    
    		double i = arrayList.size() / Math.sqrt(aList1.size() * aList2.size());
    		return i;
    	}
    
    	
    	// 返回不同的书
    	public static ArrayList<String> book(ArrayList<String> aList1, ArrayList<String> aList2) {
    
    		ArrayList<String > arrayList = new ArrayList<String>();
    		
    		for (int i = 0; i < aList1.size(); i++) {
    
    			for (int j = 0; j < aList2.size(); j++) {
    
    				if (!aList1.get(i).equals(aList2.get(j))) {
    					
    					arrayList.add(aList2.get(j));
    
    					return arrayList;
    				}
    			}
    		}
    		return null;
    	}
    
    }
    

      

    package com.zhiyou100.demo2;
    
    import java.util.Scanner;
    
    public class Demo2 {
    
    	public static void main(String[] args) {
    
    		// 形状shape 色泽colorAndLustre 净度cleanLiness 汤色colourOfTea
    
    		// 香气aroma 滋味taste 叶底bottomLeaves
    
    		String array[] = { "形状", "色泽", "净度", "汤色", "香气", "滋味", "叶底" };
    		double arr[][] = { { 1, 0.9, 0.9, 0.9, 1, 1, 0.9 }, { 0.9, 0.8, 0.9, 0.9, 0.9, 0.9, 0.8 },
    				{ 0.8, 0.7, 0.9, 0.8, 0.8, 0.7, 0.7 }, { 0.6, 0.5, 0.7, 0.6, 0.7, 0.7, 0.6 },
    				{ 0.5, 0.4, 0.5, 0.5, 0.6, 0.6, 0.4 }, { 0.4, 0.3, 0.5, 0.4, 0.5, 0.5, 0.4 },
    				{ 0.3, 0.2, 0.5, 0.2, 0.3, 0.3, 0.2 } };
    		// System.out.println(arr.length);
    
    		Scanner scanner = new Scanner(System.in);
    
    		double[] standards = new double[7];
    
    		double[] r = new double[7];
    
    		double a = 0;
    
    		double min;
    
    		double b = 0;
    		double sum = 0;
    
    		for (int j = 0; j < array.length; j++) {
    			System.out.print("请您输入您要查询的茶叶的" + array[j] + "参数: ");
    			double number = scanner.nextDouble();
    			standards[j] = number;
    		}
    
    		for (int i = 0; i < arr.length; i++) {
    
    			for (int k = 0; k < arr.length; k++) {
    
    				if (arr[i][k] > standards[k]) {
    					min = standards[k];
    
    				} else {
    					min = arr[i][k];
    
    				}
    
    				sum = arr[i][k] + standards[k];
    				a += min;
    				b += sum;
    				// System.out.println(a);
    			}
    
    			r[i] = 2 * a / b;
    			System.out.println(r[i]);
    		}
    
    		double max = r[0];
    		int maxIndex = 0;
    
    		for (int i = 0; i < r.length; i++) {
    
    			double d = r[i];
    
    			if (max < d) {
    				max = d;
    				maxIndex = i;
    			}
    
    		}
    
    		String array1[] = { "特一级", "特二级", "特三级", "一级", "二级", "三级", "四级" };
    
    		System.out.println("这个茶叶属于的等级为:" + array1[maxIndex]);
    
    	}
    
    }
    

      

    package com.zhiyou100.demo2;
    
    import java.util.Scanner;
    
    public class Demo3 {
    
    	public static void main(String[] args) {
    
    		String array[] = { "形状", "色泽", "净度", "汤色", "香气", "滋味", "叶底" };
    		double arr[][] = { { 1, 0.9, 0.9, 0.9, 1, 1, 0.9 }, { 0.9, 0.8, 0.9, 0.9, 0.9, 0.9, 0.8 },
    				{ 0.8, 0.7, 0.9, 0.8, 0.8, 0.7, 0.7 }, { 0.6, 0.5, 0.7, 0.6, 0.7, 0.7, 0.6 },
    				{ 0.5, 0.4, 0.5, 0.5, 0.6, 0.6, 0.4 }, { 0.4, 0.3, 0.5, 0.4, 0.5, 0.5, 0.4 },
    				{ 0.3, 0.2, 0.5, 0.2, 0.3, 0.3, 0.2 } };
    
    		Scanner scanner = new Scanner(System.in);
    
    		double[] standards = new double[7];
    
    		double[] r = new double[7];
    
    		double a = 0;
    		double min;
    		double c = 0;
    		double sum = 0;
    
    		for (int j = 0; j < array.length; j++) {
    			System.out.print("请您输入您要查询的茶叶的" + array[j] + "参数: ");
    			double number = scanner.nextDouble();
    			standards[j] = number;
    		}
    
    		for (int i = 0; i < arr.length; i++) {
    
    			for (int k = 0; k < arr.length; k++) {
    
    				if (arr[i][k] > standards[k]) {
    					min = standards[k];
    
    				} else {
    					min = arr[i][k];
    
    				}
    
    				sum = Math.sqrt(arr[i][k] * standards[k]);
    
    				a += min;
    
    				c += sum;
    				// System.out.println(a);
    			}
    
    			r[i] = a / c;
    			System.out.println(r[i]);
    		}
    
    		double max = r[0];
    		int maxIndex = 0;
    
    		for (int i = 0; i < r.length; i++) {
    
    			double d = r[i];
    
    			if (max < d) {
    				max = d;
    				maxIndex = i;
    			}
    
    		}
    
    		String array1[] = { "特一级", "特二级", "特三级", "一级", "二级", "三级", "四级" };
    
    		System.out.println("这个茶叶属于的等级为:" + array1[maxIndex]);
    
    	}
    
    }
    

      

  • 相关阅读:
    调用同一个类的另一个方法,导致该方法的事物失效问题。。做记录
    JS点名功能
    JS复制功能
    js局部刷新
    基于 Token 的身份验证方法
    JS获取URL“#”后的值
    JS批量打包下载图片(笔记)
    九阴真经
    弹框播放腾讯视频(Iframe)
    js sessionStorage会话存取/删除
  • 原文地址:https://www.cnblogs.com/niuxiao12---/p/7256289.html
Copyright © 2011-2022 走看看