我想使用逗号或空格分隔的数字并返回统计信息,例如均值中位模式std dev等。我将如何制作数组并在使用输入后使用数组的内容并进行简单的统计如何计算?我现在正在开发android新手,所以我对所有不同的方法都不太熟悉。不,这不是任何功课或家庭作业,我做了一个应用程序,这是证明:https://goo.gl/9mt4ql
package erm.customcalculator.fragments;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.EditText;
//import java.lang.*;
import erm.customcalculator.R;
public class StatsFragment extends CalcBase {
EditText etnums;
double nums;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View v = GatherViews(inflater, container);
return v;
}
private View GatherViews(LayoutInflater inflater, ViewGroup container) {
View v = inflater.inflate(R.layout.fragment_standard_error, container,
false);
etnums = (EditText)v.findViewById(R.id.value_p);
return v;
}
@Override
public String getNameOfCalculation() {
return getString(R.string.standard_error);
}
@Override
public void clearPage() {
etnums.setText("");
}
@Override
public String returnMessageIfBadFormData() {
if(isEmpty(etnums)){
return "All values required for computation";
} else {
nums = getDouble(etnums);
return "";
}
}
@Override
public String calculate() throws Exception {
double total = 0;
double var = 0;
for (double element : nums){
total = total + element;
double average = total / element;
}
double sum = total;
for (double element : nums) {
double average = total / element;
var += (Math.pow((element - average), 2) / element);
}
double std_dev = Math.pow(var, 0.5);
double average = total / element;
return String.valueOf("Sum: " + sum +
"Mean: " + average +
"Standard Deviation: " + std_dev +
"Variance: " + var);
}
}
答案 0 :(得分:1)
EditText
包含CharSequence
,您可以将其转换为String
。然后,您需要将String
解析为您希望的任何表示形式。例如,如果数字以逗号分隔,则可以使用String.split()
来获取逗号之间的标记。然后使用Integer.valueOf()
或Double.valueOf()
获取可用于计算的数值。