这是代码。在这部分,answerIsTrue变量应该被初始化为 true,它正确地做(我调试和检查)并且正确地也被传递到 putExtra()(再次,我调试和检查)。
mCheatButton.setOnClickListener(new View.OnClickListener(){
public void onClick(View v){
Intent i = new Intent(QuizActivity.this, CheatActivity.class);
boolean answerIsTrue = mQuestionBank[mCurrentIndex].isTrueQuestion();
i.putExtra(CheatActivity.EXTRA_ANSWER_IS_TRUE, answerIsTrue);
startActivity(i);
}
});
Run Code Online (Sandbox Code Playgroud)
但是来到一个不同的类,mAnswerIsTrue尽管 putExtra() 传递的参数为真,但变量被分配为 false(可能是由于默认参数)。这是代码。
mAnswerIsTrue = getIntent().getBooleanExtra(EXTRA_ANSWER_IS_TRUE, false);
Run Code Online (Sandbox Code Playgroud)
我也调试了这条线,它确实被分配为 false。可能有什么问题?
这是完整的CheatActivity课程:
public class CheatActivity extends Activity {
public static final String EXTRA_ANSWER_IS_TRUE = "com.bignerdranch.android.geoquiz.answer_is_true";
private Button mShowAnswerButton;
private boolean mAnswerIsTrue;
private TextView mAnswerTextView;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_cheat);
mAnswerIsTrue = getIntent().getBooleanExtra(CheatActivity.EXTRA_ANSWER_IS_TRUE, false);
mAnswerTextView = (TextView)findViewById(R.id.answerTextView);
mShowAnswerButton = …Run Code Online (Sandbox Code Playgroud) #include<iostream>
#include<string>
#include<iterator>
using namespace std;
int main()
{
string a("hello world");
for(auto it = a.begin(); it != a.end() && !isspace(*it); it++ )
{
*it = toupper(*it);
}
cout<<a;
}
Run Code Online (Sandbox Code Playgroud)
我得到了两个错误.一个是如上所述,"自动更改意味着在c ++ 11中",另一个是"!=运算符未定义".从来没有遇到过这个问题.
我只使用了自动运算符,因为本书建议.
我是初学者,大约2个月后回到学习.遇到困难.
我是初学者,2个月后回到编程.几乎忘记了一切.我刚刚尝试编译的代码消除了迭代器中向量的后半部分,如果我想要的字符在前半部分找到.
这是代码:
#include<iostream>
#include<string>
#include<vector>
using namespace std;
int main()
{
vector<string> v;
string s("hello world");
char sought = 'e';
v.push_back(s);
auto mid = (v.begin() + v.end())/2;
if (sought<*mid)
{
end = mid;
}
cout<<*v;
}
Run Code Online (Sandbox Code Playgroud)
请告诉我我的错误是什么.
还能忘记编程吗?此外,一旦精通,这个概念会永远存在,还是需要不断的练习和阅读?
#include <iostream>
using namespace std;
int main()
{
constexpr size_t b = 10;
int arr[b];
for ( int i = 0; i<b; i++)
{
arr[i] = i;
}
for ( int x : b)
{
cout<<x;
}
}
Run Code Online (Sandbox Code Playgroud)
代码显示在上面.为什么我不能使用for循环范围打印数组的内容?当我尝试时,它给我一个错误说错误:没有匹配函数调用'begin(const unsigned int&)'|