我是android编程的新手。我制作统计应用程序,我想在其中计算平均值。
我必须从文本字段中的用户那里获取由(,)分隔的输入并存储在数组中。我怎么能这样做?
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
et_ans=(TextView) findViewById(R.id.et_ans);
b_mean=(Button) findViewById(R.id.b_mean) ;
b_mean.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v) {
String input = et_input.getText().toString();
int Length = Integer.parseInt(input);
int arr[] = new int[Length];
int sum = 0;
for (int i = 0; i < arr.length; i++) {
sum += arr[i];
et_ans.setText(sum);
}
}
});
}
答案 0 :(得分:0)
尝试以下
String s = et_input.getText().toString();
String[] spitString = s.split(",");
float total = 0;
for (int i = 0; i < spitString.length; i++) {
total = total + Float.parseFloat(spitString[i]);
}
float mean = total / spitString.length; // your mean value
但请确保您在编辑文字中的输入为integer
,float
值为,分隔。
答案 1 :(得分:0)
据我所知,你想计算平均值
例如:
输入: 10,20,30
期望输出: 10 + 20 + 30/3 = 40
如果是,那么您可以按照以下步骤操作
首先从EditText
获取值并通过执行以下操作存储在数组中:
b_mean=(Button) findViewById(R.id.b_mean);
//Do this in onClickListener.
String[] values=b_mean.getText.toString().split(',');
以上代码将使用拆分函数获取 values array 中的所有值。
然后运行一个循环来计算这样的意思:
//Do this in onClickListener.
float sum = 0;
for (int i = 0; i < values.length; i++) {
sum += Float.parseFloat(arr[i]);
}
float mean =sum/values.length;
et_ans.setText(mean+"");
//This [""] used to convert float value into string. you can either use String.valueOf(mean).
就是这样!!