繁体   English   中英

如何在外部循环中从[0到9]访问字符串列表?

[英]How can I access the Strings list from [0 to 9] outside for loop?

我试图编写一个代码,使我可以访问String msgbody并将其放置在电子邮件中。 但是,使用以下代码,最终字符串仅显示在for循环之外。 我搜索了很多次答案,并且对Java有点陌生。

    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)

编辑:这有效:(最初-以下仅重复显示了第一个链接:)我从Java更改为Java EE,它有效吗? 我想念什么?

    msgbody += urls.get(i);

我可以使它在没有for循环的情况下工作,但它马虎。

您可以更改msgbody = urls.get(i); msgbody += urls.get(i); (否则,您将在每次迭代中完全替换msgbody )。 另外,我更喜欢StringBuilder菱形运算符<>for-each循环 喜欢,

List<String> urls = new ArrayList<>();
StringBuilder sb = new StringBuilder();
for (String url : urls) {
    sb.append(urls.get(url));
}
System.out.println(sb);

仅有的微小变化是您要替换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); 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM