2016-10-25 8 views
0

私はメールで送信したい値のリストを持っています。しかしメールでは、私は唯一のすべての値ではなく、最後の値を取得しています。以下は私のコードですList <>からsetText()メソッドで値をメールでバンプを介してメールに送信

private String sName[]; 
private String sID[]; 
method abc() 
{ 
    some code..... 
final int numberOfStudentsAdded = recentlyJoinedStudents.size(); 
sName= new String[numberOfStudentsAdded]; 
sID=new String[numberOfStudentsAdded] 
for(int i=0;i<numberOfStudentsAdded;i++) 
    { 
     for(final Student s :recentlyJoinedStudents) 
     { 
      sName[i]=s.getName(); 
      sID[i]=s.getId(); 
     } 
     message.setText(
       "<table><tr><td><h6>Student Name</h6></td><td><h6>Student ID</h6></td></tr><tr><td>" 
         + sName[i] + "</td><td>" + sID[i] + "</td><td></tr></table>", true); 

    }} 

私のリストには3人の学生がいるとします。しかし、それは最後の生徒の記録を与える。私は

学生の名前学生IDが

ABC 1

xyzの2

PQR 3

として必要な出力をしたいが、私は

学生の名前学生IDとして出力を取得しています

pqr 3

どうすれば実現できますか?私のコードで何が間違っていますか。 - 先生が言った@として

+0

各繰り返しでメッセージを上書きしているようです。 –

+0

@ a-sirはいそうです。どのようにしてsetTextメソッドがオーバーライドし、必要な出力を得るのを防ぐことができますか? please suugest –

+2

あなたのロジックにはinner forループは必要ではないと思いますが、 's.getName();'を 'recentJoinedStudents .get(i).getName()'に置き換えてください。 – PSabuwala

答えて

1

あなたがメッセージのテキストメッセージのプロパティを持つすべての時間を上書きしているが、以下に

変更し、あなたのコードとして設定する値で毎回それをオーバーライドしています。 setText( "")。そして私は2つのループを理解していません。代わりに次のコードを試してください:)

String text = "<table><tr><td><h6>Student Name</h6></td><td><h6>Student ID</h6></td></tr>"; 
    for(int i=0;i<recentlyJoinedStudents.size();i++) { 
     text += "<tr><td>" + recentlyJoinedStudents.get(i).getName() + "</td><td>" 
       + recentlyJoinedStudents.get(i).getId() + "</td><td></tr>"; 
    } 
    text += "</table>"; 
    System.out.print(text); 
-1

、あなたは

private String sName[]; 
private String sID[]; 
method abc() 
{ 
    some code..... 
final int numberOfStudentsAdded = recentlyJoinedStudents.size(); 
sName= new String[numberOfStudentsAdded]; 
sID=new String[numberOfStudentsAdded]; 
StringBuilder dataTable = new StringBuilder("<table><tr><td><h6>Student Name</h6></td><td><h6>Student ID</h6></td></tr>"); 
for(int i=0;i<numberOfStudentsAdded;i++) 
    { 

     for(final Student s :recentlyJoinedStudents) 
     { 
      sName[i]=s.getName(); 
      sID[i]=s.getId(); 
     } 
     dataTable.append("<tr><td>"+ sName[i] + "</td><td>" + sID[i] + "</td><td></tr>"); 
    } 
    dataTable.append("</table>"); 
    message.setText(dataTable.toString(), true); 
} 
+0

あなたの提案に感謝しますオーバーライドされます。 2つのループが原因である可能性があります。 –

関連する問題