これがJAVAとAndroidプログラミングの5週目であるため、これがばかげた質問ではないことを願っています。だから私はまだこれに非常に新しいです。
これが私のコードです:
public void splitData(){ //**********************PROBLEM HERE**********************
//Initialise everything to 0 to prepare for variable entry
y=0;
gender = "";
sAge = "";
sTotalC = "";
smoker = "";
sHDLC = "";
medication = "";
sSystolic = "";
//To locate the spaces in the data
for(x=0;x<toSplit.length();x++){
if (toSplit.charAt(x) == ' '){
spaceCount[y]=x;
y++;
}
}
//to put together gender
for(x=0;x<spaceCount[0];x++){
gender+= toSplit.charAt(x);
}
//to put together age
for(x=spaceCount[0]+1;x<spaceCount[1];x++){
sAge+=toSplit.charAt(x);
}
//to put together total Cholesterol
for(x=spaceCount[1]+1;x<spaceCount[2];x++){
sTotalC+=toSplit.charAt(x);
}
//to put together smoker status
for(x=spaceCount[2]+1;x<spaceCount[3];x++){
smoker+=toSplit.charAt(x);
}
//to put together HDL Cholesterol level
for(x=spaceCount[3]+1;x<spaceCount[4];x++){
sHDLC+=toSplit.charAt(x);
}
//to put together medication status
for(x=spaceCount[4]+1;x<spaceCount[5];x++){
medication+=toSplit.charAt(x);
}
//to put together Systolic BP
for(x=spaceCount[5]+1;x<=toSplit.length();x++){
sSystolic+=toSplit.charAt(x);
}
}
}
つまり、基本的に、文字列内のすべてのスペースを見つけ、そのスペースに基づいて、文字列のアルファベットをさまざまな変数に結合し、新しく作成された個々の単語をEditTextに表示するというひどい試みがあります。
このコードのすべてが正常に機能します。ボタンを押すまで、mSplitは上記のタスクを実行し始め、「残念ながらアプリが動作を停止しました」と表示されます。
私はグーグルで多くのウェブサイトに鼻を突っ込んできましたが、それらのほとんどは他の形式の方法を使用して文を分割し、別の配列や変数に保存せずにすぐに表示します。
私はC++についての知識が限られているので、おそらく長くて愚かな方法でそれをやっているように思われます。したがって、私がそれを私が知っている唯一の方法でやろうとした理由です。
私はすべての提案とコメントを受け入れます、そして私は前もって謙虚に感謝します。