我试图将我的EditTexts存储在一个数组中,并在TextView中显示所有这些,然后使用sum函数获取数组的总和并显示总和。但我现在陷入困境。
public void Clickme (View view) {
public void clickMe (View v){
//my EditText’s ID is called myInput
EditText myInput = (EditText) findViewById(R.id.myInput);
//my TextView’s ID is called text2
TextView text2 = (TextView) findViewById(R.id.text2);
String str = myInput.getText().toString();
text2.setText(str);
int [] array = new int [myInput.length()];
//I am stuck at this point
for(int i=0; i <myInput.length(); i++) {
array[i] = Integer.valueOf(myInput.getText(i));
}
//sum function
for (int i: array) {
str = str + i;
EditText.setText(str);
}
}
答案 0 :(得分:2)
你在方法中有一个方法......那就不会编译
public void Clickme (View view) {
public void clickMe (View v){
你想在这做什么? EditText.setText(str);
setText
不是静态方法。
然后有一个sum函数来获取数组的总和并显示总和
在这里? str = str + i;
这不是数字的总和。您将一个数字附加到字符串。
此方法不存在...... myInput.getText(i)
根据您的循环和数组创建,看起来您想要添加数字的所有数字。
private EditText myInput;
private TextView text2;
public void onCreate(Bundle b) {
super.onCreate(b);
setContentView(...);
...
myInput = (EditText) findViewById(R.id.myInput);
text2 = (TextView) findViewById(R.id.text2);
}
public void clickMe (View view) {
String input = myInput.getText().toString();
int number = 0;
if (!input.isEmpty()) {
number = Integer.parseInt(input);
}
// Sum the digits in a number
int sum = 0;
while (number > 0) {
sum += number % 10;
number = number / 10;
}
text2.setText(String.valueOf(sum));
}