1.什么是权重比例
权重比例计算即将各数值乘以相应的权数,然后加总求和得到总体值,再除以总的单位数。
如何计算
有一个对象集合为[A,B,C,D,E,F,G,H,I,J],其对象的全红
总权重为10
每一个对象的权重为1/10=0.1
2.什么是权重覆盖区域
权重覆盖区域是对象在整体权重范围中的锁分配到的区域
因此在计算权重时将对应的权重比例放入到数组中,便于后期计算权重覆盖区域
3.如何随机的获取对应的区域
使用java数据工具列Arrays的binarySearch()
int binarySearch(double[] a, double key)
这个方法会根据key找到 -插入点索引-1
对应的插入点为 -结果-1
当获取到指定的权重覆盖区域,对其对应的对象的权重按照指定比例进行修改,并保存数据
4.IO读取和保存数据
可使用的类很多,但是建议使用字符流的高级流–缓冲流,可以在简化操作步骤
字符缓冲输入流:使用服务器托管网readLine()获取一行的数据
字符换种输出流:使用newLine()进行换行,相较于添加写入 服务器托管网rn要简便
5.算法实现
1。建立的JavaBean类
package com.prettyspiderList.train;
/**
* @author prettyspider
* @ClassName Student
* @description: TODO
* @date 2023/8/4 17:28
* @Version V1.0
*/
public class Student {
private String name;
private int age;
public Student() {
}
public Student(String name, int age) {
this.name = name;
this.age = age;
}
/**
* 获取
* @return name
*/
public String getName() {
return name;
}
/**
* 设置
* @param name
*/
public void setName(String name) {
this.name = name;
}
/**
* 获取
* @return age
*/
public int getAge() {
return age;
}
/**
* 设置
* @param age
*/
public void setAge(int age) {
this.age = age;
}
public String toString() {
return "Student{name = " + name + ", age = " + age + "}";
}
}
2.算法实现
package com.prettyspiderList.Map.train;
import java.io.*;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Random;
/**
* @author prettyspider
* @ClassName test04
* @description: TODO
* @date 2023/9/7 21:35
* @Version V1.0
*/
public class test04 {
/**
* txt文件中事先准备号一些学生信息,每个学生的信息独占一行
* 要求1:
* 每次被点到的学生,再次被点到的概率再原先的基础上降低一半
* 举例: 80个学生,点名2次,每次都点到a,概率变化
* 1: 1.25&
* 2.a 0.625% 其他人1.2579%
*/
public static void main(String[] args) throws IOException {
/**
* 带权重的随机算法:
* 根据总权重,获取每个对象的占比
*
*/
//创建student集合
ArrayList list = new ArrayList();
// 创建输入流
BufferedReader reader = new BufferedReader(new FileReader(".comprettyspiderListMaptrainstu.txt"));
String line;
while ((line = reader.readLine()) != null) {
String[] arr = line.split("-");
list.add(new Student(arr[0], arr[1], Integer.parseInt(arr[2]), Double.valueOf(arr[3])));
}
// 关流
reader.close();
//计算权重
// 1.获取总权重
double weight = 0.0;
for (Student stu : list) {
weight += stu.getWeight();
}
// 2.获取单个权重
double[] wightArr = new double[list.size()];
for (int i = 0; i
测试数据
权重算法测试数据
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net
机房租用,北京机房租用,IDC机房托管, http://www.fwqtg.net
相关推荐: 7DGroup性能&测试开发文章持续更新(2019/12/10)
7DGroup 简介: 7DGroup 简介 性能闲谈系列: 浅谈window桌面GUI技术及图像渲染性能测试实践 杂谈:性能测试的范围到底有多大? 戏说CPU使用率-驳《CPU使用率度量指标是扯淡!》译文标题 对性能测试评估分析优化市场的反思 泛谈系统级跟踪…