⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 datenmodellimpl.java

📁 JAVA图形界面算平均值 方差 简单的JTREE是应用
💻 JAVA
字号:
package model;

import java.util.Collections;
import java.util.LinkedList;
import java.util.List;
import java.lang.Math;


public class DatenmodellImpl  implements Datenmodell{
	private List<Double> values;
	private List<ValueChangeListener> listeners;
	
	public DatenmodellImpl(){
		values=new LinkedList<Double>();
		listeners=new LinkedList<ValueChangeListener>();
	}
	
	public void addValue(double value) {
		values.add(value);
		fireValuesAdded(Collections.singletonList(value)); 
	}

	public void deletValue(int index) {
		Double d=values.get(index);
		values.remove(index);
		fireValuesRemoved(Collections.singletonList(d)); 
	}

	public double getMax() {
		double max=0;
		for(int i=0;i<values.size();i++){
			if(max<values.get(i))
				max=values.get(i);
		}
		return max;
	}

	public double getMean() {
		double mean=0;
		for(int i=0;i<values.size();i++){
			mean=mean+values.get(i);
		}
		return mean/values.size();
	}

	public double getMin() {
		double min=0;
		if(values.size()!=0)
			min=values.get(0);
		for(int i=0;i<values.size();i++){
			if(min>values.get(i))
				min=values.get(i);
			}
		return min;
	}

	public int getSize() {
		return values.size();
	}

	public double getStdDeviation() {
		double std,sum=0;
		for(int i=0;i<values.size();i++)
			sum=sum+(values.get(i)-getMean())*(values.get(i)-getMean());
		std=Math.sqrt(sum/values.size());
		return std;
	}

	public double getValue(int index) {
		return values.get(index);
	}

	

	public void addValuesChangeListener(ValueChangeListener listener) {
		listeners.add(listener);
		
	}

	public void removeValuesChangeListener(ValueChangeListener listener) {
		listeners.remove(listener);
		
	}
	private void fireValuesAdded(List<Double> values) {
		ValueEvent evt = new ValueEvent(this, values); 
		for (ValueChangeListener listener : listeners) {
			listener.valuesAdded(evt);
		}
	}
	
	private void fireValuesRemoved(List<Double> values) {
		ValueEvent evt = new ValueEvent(this, values); 
		for (ValueChangeListener listener : listeners) {
			listener.valuesRemoved(evt);
		}
	}
	
	/**
	 * Notifies all listeners that the list has changed.
	 */
	private void fireValuesChanged(List<Double> values) {
		ValueEvent evt = new ValueEvent(this, values); 
		for (ValueChangeListener listener : listeners) {
			listener.valuesChanged(evt);
		}
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -