int i=1;
do
{
System.out.println(ext_people_name.getText());
System.out.println(ext_contact_num.getText());
System.out.println(i);
ext_people_name.setText("");
ext_contact_num.setText("");
i++;
if(i>nop1)
{
ext_people_name.setEditable(false);
ext_contact_num.setEditable(false);
break;
}
}while(i<=nop1);
我现在得到的输出是
neha
8798
1
2
任何人都可以告诉任何替代方案或请帮助
答案 0 :(得分:3)
I am clearing the textbox before going to the next iteration
在那里,你解决了自己的问题!
答案 1 :(得分:0)
最好使用for循环而不是do / while代码。像这样重构你的代码:
for (int i=1; i<=nop1; i++) {
System.out.println(ext_people_name.getText());
System.out.println(ext_contact_num.getText());
System.out.println(i);
ext_people_name.setText("");
ext_contact_num.setText("");
};
ext_people_name.setEditable(false);
ext_contact_num.setEditable(false);
答案 2 :(得分:0)
您自己给出了答案 - 在下一次迭代之前清除文本框。因此,它不包含值,因此不会打印值。
您需要做的是重新设计您正在做的事情并将其分解为更小的步骤。而不是尝试使用一个循环来做所有事情,而是将其分解为更小的循环。
我也不太明白你想要做什么。为什么在下一次迭代之前清除文本框?
如果您只想显示文本框值两次,然后清除它们并使它们不可编辑,请在单独的步骤中执行此操作。
或者,编辑原始问题并添加一些我们可以更好理解的上下文。
答案 3 :(得分:0)
您在每次迭代后清除文本框中的值,这会使值为空并且不打印任何内容
System.out.println("some "+ext_people_name.getText());
System.out.println("some "+ext_contact_num.getText());
使用上面的代码,你可以看到你在迭代后覆盖了结果