【问题标题】:Print Array Separated By Comma's [duplicate]打印由逗号分隔的数组[重复]
【发布时间】:2015-05-25 05:54:35
【问题描述】:

我需要打印这个数组,而不用逗号打印最后一个数组项。我尝试将 i 设置为小于 3,但它不起作用。 :/ 我无法让最后一个数组条目自行打印。这是家庭作业,所以请不要觉得有必要给我答案,只要朝着正确的方向轻推就会有帮助!

    import java.util.Scanner;

    public class PrintWithComma {
    public static void main (String [] args) {
      final int NUM_VALS = 4;
      int[] hourlyTemp = new int[NUM_VALS];
      int i = 0;

      hourlyTemp[0] = 90;
      hourlyTemp[1] = 92;
      hourlyTemp[2] = 94;
      hourlyTemp[3] = 95;

      for(i = 0; i < NUM_VALS; i++){
         if(hourlyTemp[i] < NUM_VALS);
         System.out.print(hourlyTemp[i]);
      }

      System.out.println("");

      return;
   }
}

【问题讨论】:

  • 你期待什么输出?
  • 我看不到你在哪里打印昏迷。 for 中的 if 子句没有效果(你有 ; 就在右括号之后),所以 system.out.print 总是被调用。

标签: java arrays printing element


【解决方案1】:

既然你只是想朝着正确的方向轻推,

if(hourlyTemp[i] < NUM_VALS);

删除if 末尾的分号(它终止了if 正文)。另外,我建议你总是使用大括号

if(hourlyTemp[i] < NUM_VALS) {
    // ...
}

我也认为你想要i + 1 &lt; NUM_VALSSystem.out.print(", "); 当然,你也可以使用

System.out.println(Arrays.toString(hourlyTemp));

编辑 根据您在下面的评论,您似乎想要类似

for (i = 0; i < NUM_VALS; i++) {
    if (i != 0) {
        System.out.print(", ");
    }
    System.out.print(hourlyTemp[i]);
}
System.out.println("");

【讨论】:

  • 是的,代码被证明是混乱的。那不是我的原始代码,我一定是不小心弄乱了它。我用这些提示编辑了我的代码,我似乎得到了代码 - for(i = 0; i + 1
  • 效果完全符合预期。 if 语句会阻止它在元素 0 上获得逗号吗?我整天盯着代码,也许我刚开始失去逻辑思考的能力哈。
  • 是的,第一个元素 (0)。
猜你喜欢
  • 2017-12-19
  • 2018-02-27
  • 1970-01-01
  • 1970-01-01
  • 2013-02-06
  • 1970-01-01
  • 2020-05-26
  • 2022-09-07
  • 1970-01-01
相关资源
最近更新 更多