1

したがって、基本的には、for ループであるこのデータベースがあります。毎回異なるスコアが得られるため、これを文字列 (またはファイルに保存する必要がありますが、データベースの新しい呼び出しごとに空にする必要があるため、文字列の方が簡単だと思います)。

ループを通過し、各スコアの後に , を追加してすべてのスコアを保存したい (それらを別々に保つため) が、コードの一部が for ループの外側にあるため、コードが機能しません。これを修正するにはどうすればよいですか? または、作成したいことを行うためのより良い/他の方法はありますか?

DatabaseHandler db = new DatabaseHandler(camera.this);
List<Database> contacts = db.getAllContacts();
for (Database contact : contacts) {
    String test = contact.getMP();
    StringWriter stringWriter = new StringWriter();
    PrintWriter printWriter = new PrintWriter(stringWriter);
    printWriter.println(test);
}  
printWriter.flush();
printWriter.close();
return stringWriter.toString();
4

2 に答える 2

4

これを試して:

StringBuilder sb = new StringBuilder();
for (Database contact : contacts) { 
    if(sb.length > 0) {
        sb.append(", ");
    }
    sb.append(contact.getMP());
}
...
sb.toString();
于 2013-05-19T21:59:35.310 に答える
1

これを試して

DatabaseHandler db = new DatabaseHandler(camera.this);
List<Database> contacts = db.getAllContacts();
StringWriter stringWriter = new StringWriter();
PrintWriter printWriter = new PrintWriter(stringWriter);
boolean first = true;
for (Database contact : contacts) {
   if(!first) printWriter.print(", ");
   else first = false;
   String test = contact.getMP();
   printWriter.print(test);      
}      
printWriter.flush();
printWriter.close();
return stringWriter.toString();

これが役に立ち、あなたの仕事を楽しんでくれることを願っています

于 2013-05-19T21:47:27.763 に答える