【问题标题】:Loops and Strings in JavaJava中的循环和字符串
【发布时间】:2013-09-03 02:37:38
【问题描述】:

在我看来,可能有更好的方法,我认为可能使用循环。

 String hora1 = listaH.get(0);
 String hora2 = listaH.get(1);
 String hora3 = listaH.get(2);
 String hora4 = listaH.get(3);
 String hora5 = listaH.get(4);
 String hora6 = listaH.get(5);
 String hora7 = listaH.get(6);
 String hora8 = listaH.get(7);
 String hora9 = listaH.get(8);

还有其他方法可以用更少的单词来写这个吗? 谢谢

【问题讨论】:

  • 如果你需要一个单独的变量来保存每个元素,为什么要维护一个数组?
  • 如果您愿意对每次出现的每个元素进行操作(也就是说,您不为每个元素使用变量),那么是的
  • 如果您需要九个单独的变量,那么答案是“否”。如果您可以使用由九个元素组成的 String[] hora 数组,那么可以。
  • 每个字符串都显示了一个不同的单词。但我希望所有字符串都做同样的事情:jLabel 中的“.setText()”。我创建了 9 个 jLabel,我希望每个标签一个字符串。
  • 为什么不创建 JLabel,设置它们的文本,然后在循环遍历您的 listaH 的过程中将它们添加到您的面板/框架中?或者维护一个单独的标签列表/数组,与您希望它们显示的字符串一致。

标签: java string loops get


【解决方案1】:

这取决于你想要实现什么以及你希望从中获得什么......但是......

假设listaHjava.util.List,你可以使用

for (String horse : listaH) {
    System.out.println(horse);
}

(注意:你可以对数组做同样的事情)

查看The for statementThe while and do-while statements 了解更多详情

【讨论】:

    【解决方案2】:

    对 hora 变量使用数组。可以是这样的

    String[] hora = new String[9];
    

    现在您可以使用任何循环,但 for 最适合您的情况。

    for(int i = 0; i < 9 ; i++){
     hora[i] = listaH.get(i);
    }
    

    但是为什么要在新变量上浪费资源和复杂性呢?您可以在任何需要 hora5 的地方执行类似 listaH.get(4) 的操作。

    【讨论】:

      【解决方案3】:
        Iterator itr = listaH.iterator();
        while(itr.hasNext()) {
           String element = (String) itr.next();
           System.out.print(element + " ");
        }   
      
       or 
      
       for (int i=0;i<listaH.size();i++) {
              String element  = (String)listaH.get(i); 
              System.out.print(element + " ");
        }
      

      如果你需要字符串数组,那么使用这个

      String[] array = listaH.toArray(new String[listaH.size()]);
      

      【讨论】:

        【解决方案4】:

        是的。您应该将它们留在原始列表中,然后以这种方式访问​​它们,而不是为每个元素单独变量。因此,例如,当您需要尝试存储在 hora9 中的值时,请改用 listaH.get(8)

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2015-08-20
          • 2014-08-05
          • 2014-01-15
          • 1970-01-01
          • 2017-03-21
          • 1970-01-01
          • 2012-03-09
          • 2020-08-19
          相关资源
          最近更新 更多