为用户创建程序以输入他们在会话中执行的俯卧撑数量,在一个文本视图中显示该会话的数量,同时在第二个文本视图中显示所有上推会话的总和。
我尝试下面的代码似乎适用于很多人,但我收到错误“无法解析符号我”
我的代码或此方法有问题吗?有关在日期范围内查找arraylist项目总和的任何提示也将非常受欢迎
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final ArrayList<Integer> pushuplist = new ArrayList<>();
EditText PushupEditText = findViewById(R.id.PushupEditText);
Button AddButton = (Button) findViewById(R.id.Submit);
AddButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
EditText PushupEditText = findViewById(R.id.PushupEditText);
TextView PushupTextView = findViewById(R.id.PushupTextView);
TextView TotalPushupsText = findViewById(R.id.TotalPushupsText);
int PushupNum = Integer.parseInt(PushupEditText.getText().toString());
pushuplist.add(PushupNum);
PushupTextView.setText(PushupNum+"");
int sum = 0;
for (int i = 0; i < pushuplist.size(); i++);
{
sum += pushuplist.get(i);
}
}
});
在for循环声明之后,下面的代码有一个额外的分号。删除分号应该可以解决问题。
int sum = 0;
for(int i = 0; i < pushuplist.size(); i++); // remove this semicolon
{
sum += pushuplist.get(i);
}
如果您想知道为什么这不会触发编译器错误或警告,请继续阅读。
当你编写for循环时,如果没有添加大括号,则下一个可执行语句将在for循环的迭代中运行。
for(int i = 0; i < 10; i++) System.out.println(i);
for(int i = 0; i < 10; i++)
System.out.println(i);
这些都是有效代码的实例。在这两种情况下,打印将被触发10次并打印出i
的值。
在for循环声明之后有分号的情况下,例如你的:
for(int i = 0; i < pushuplist.size(); i++);
下一个可执行语句是分号;
,因此没有任何内容贯穿所有for循环迭代。
希望这个解释应该对那里发生的事情有所了解。
祝你的应用好运!
你有一点错误()使用此代码。
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final ArrayList<Integer> pushuplist = new ArrayList<>();
EditText PushupEditText = findViewById(R.id.PushupEditText);
Button AddButton = (Button) findViewById(R.id.Submit);
AddButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
EditText PushupEditText = findViewById(R.id.PushupEditText);
TextView PushupTextView = findViewById(R.id.PushupTextView);
TextView TotalPushupsText = findViewById(R.id.TotalPushupsText);
int PushupNum = Integer.parseInt(PushupEditText.getText().toString());
pushuplist.add(PushupNum);
PushupTextView.setText(PushupNum+"");
int sum = 0;
for (int i = 0; i < pushuplist.size(); i++)
{
sum += pushuplist.get(i);
}
}
});
删除最后一个分号:
for (int i = 0; i < pushuplist.size(); i++);