帮我用flash as3写一个输入一组数除去最大值和最小值之后算平均分的代码
时间: 2023-05-27 20:07:58 浏览: 94
c#输出10个数的最大值、最小值、平均值和总和。.rar
以下是使用Flash AS3编写输入一组数除去最大值和最小值之后算平均分的代码示例:
```actionscript
// 创建一个数组来存储输入的数字
var numbers:Array = [];
// 创建一个文本框来显示结果
var result_txt:TextField = new TextField();
result_txt.width = 200;
result_txt.height = 30;
result_txt.border = true;
addChild(result_txt);
// 创建一个按钮来触发计算操作
var calculate_btn:SimpleButton = new SimpleButton(new calculate_up(), new calculate_over(), new calculate_down(), new calculate_up());
calculate_btn.x = 100;
calculate_btn.y = 50;
addChild(calculate_btn);
// 给按钮添加点击事件侦听器
calculate_btn.addEventListener(MouseEvent.CLICK, calculateAvg);
function calculateAvg(e:MouseEvent):void {
// 从输入框中获取数值并添加到数组中
var input:String = input_txt.text;
var num:Number = Number(input);
if (!isNaN(num)) {
numbers.push(num);
input_txt.text = "";
}
// 如果数组中有至少三个数,可以开始计算平均值
if (numbers.length >= 3) {
// 找到数组中的最大值和最小值
var max:Number = numbers[0];
var min:Number = numbers[0];
for (var i:int = 1; i < numbers.length; i++) {
if (numbers[i] > max) {
max = numbers[i];
}
if (numbers[i] < min) {
min = numbers[i];
}
}
// 从数组中移除最大值和最小值
var sum:Number = 0;
var count:int = 0;
for (var j:int = 0; j < numbers.length; j++) {
if (numbers[j] != max && numbers[j] != min) {
sum += numbers[j];
count++;
}
}
// 计算平均值并显示结果
var avg:Number = sum / count;
result_txt.text = "平均分:" + avg.toFixed(2);
}
}
```
上述代码中,首先创建了一个数组来存储输入的数字,然后创建了一个文本框来显示计算结果,以及一个按钮来触发计算操作。在按钮的点击事件处理函数中,首先从输入框中获取数值并添加到数组中,然后判断数组中是否有至少三个数,如果有则找到数组中的最大值和最小值,并从数组中移除它们,最后计算平均值并显示结果。注意,由于计算结果可能会有小数,因此使用了toFixed方法将结果保留两位小数。
阅读全文