Java 如何从[0到9]访问for循环外部的字符串列表?
我正在尝试编写一个代码,允许我访问字符串msgbody并将其放入电子邮件中。但是,使用以下代码,只有最后一个字符串显示在for循环之外。我搜索了很多次寻找答案,对Java有点陌生Java 如何从[0到9]访问for循环外部的字符串列表?,java,string,list,selenium-chromedriver,Java,String,List,Selenium Chromedriver,我正在尝试编写一个代码,允许我访问字符串msgbody并将其放入电子邮件中。但是,使用以下代码,只有最后一个字符串显示在for循环之外。我搜索了很多次寻找答案,对Java有点陌生 List<String> urls = new ArrayList<String>(); String msgbody = ""; for (int i = 0; i < urls.size(); i++) { //urls.get(i
List<String> urls = new ArrayList<String>();
String msgbody = "";
for (int i = 0; i < urls.size(); i++) {
//urls.get(i); unecessary
// String msgbody0; - Used to attempt msgbody0 = url.get(i); then msgbody += msgbody0; but only prints first url
int sum = i + 1;
for (j = 1; j < 2 ; j++)
{
msgbody = urls.get(i);
//urls.add(msgbody); not needed
System.out.print("("+ sum +")" +"");
System.out.println(msgbody);
}
if(i==9){
break;
}
} // Inside the for loop everything prints properly.
System.out.println(msgbody); // How can i replicate it here?(Outside for loop)
我可以让它在没有for循环的情况下工作,但它太草率了。您可以更改msgbody=url.geti;到msgbody+=url.geti;否则,您将在每次迭代中完全替换msgbody。另外,我更喜欢a、a和a。像
唯一的细微变化是您正在替换msgbody,而不是连接它
List<String> urls = new ArrayList<String>();
String msgbody = "";
for (int i = 0; i < urls.size(); i++) {
//urls.get(i); unecessary
// String msgbody0; - Used to attempt msgbody0 = url.get(i); then msgbody += msgbody0; but only prints first url
int sum = i + 1;
for (j = 1; j < 2 ; j++)
{
msgbody += urls.get(i);
urls.add(msgbody);
System.out.print("("+ sum +")" +"");
System.out.println(msgbody);
}
if(i==9){
break;
}
} // Inside the for loop everything prints properly.
System.out.println(msgbody);
好啊感谢您的回复,我将阅读更多关于StringBuilder的信息并尝试此方法。我会让你知道我是否能让它工作。我需要从URL.get0到URL.Get9的URL,从哪里URL有值?它刚刚初始化?此代码中未指定值。两个答案都是正确的。他提供了另一种选择,所以我给了他支票。谢谢你的回复。
List<String> urls = new ArrayList<>();
StringBuilder sb = new StringBuilder();
for (String url : urls) {
sb.append(urls.get(url));
}
System.out.println(sb);
List<String> urls = new ArrayList<String>();
String msgbody = "";
for (int i = 0; i < urls.size(); i++) {
//urls.get(i); unecessary
// String msgbody0; - Used to attempt msgbody0 = url.get(i); then msgbody += msgbody0; but only prints first url
int sum = i + 1;
for (j = 1; j < 2 ; j++)
{
msgbody += urls.get(i);
urls.add(msgbody);
System.out.print("("+ sum +")" +"");
System.out.println(msgbody);
}
if(i==9){
break;
}
} // Inside the for loop everything prints properly.
System.out.println(msgbody);