【问题标题】:Printing whats inside the array打印数组内部的内容
【发布时间】:2015-06-28 02:30:59
【问题描述】:
            if (val1.charAt(0) == 'A' || val1.charAt(0) == 'a')
            {
                System.out.println("Numbers in Ascending Order:");
                    for (int asc : numx) 
                    {   
                        System.out.print (asc + " ");
                    }

            }
            if (val1.charAt(0) == 'D' || val1.charAt(0) == 'd')
            {
                System.out.println("Numbers in Descending Order:");
                    for (int desc : numx) 
                        {   
                            System.out.print (desc + " ");
                        }
            }

        }   
    }
}

你好,我快写完这段代码了..

我想知道您如何对升序和降序中的数字进行排序.. asc/desc 中的数字?

【问题讨论】:

标签: java arrays


【解决方案1】:

如果您要打印numx 中的所有值,我想最简单的方法是:

for (int number : numx) {
  System.out.print(number + " ");
}

假设您想使用您在问题中指定的格式(每个项目之间只有一个空格,没有其他装饰)。

【讨论】:

  • 谢谢!- 另一个问题,你将如何对其进行排序.. 只接受不一样的数字?
  • @RedondoVelasco 你可以这样做。如果要对数组进行排序,可以使用Arrays.sort 函数。
  • @RedondoVelasco 如果你想要 10 个唯一数字,请将它们添加到一个集合中。集合不允许重复,所以当集合的大小为 10 时,你有 10 个唯一数字。
  • @Gosu 是的。但是,如果您需要保持原始顺序,则需要将LinkedHashMap 方钉插入真正需要Set 的圆孔中,或者手动处理重复项。
【解决方案2】:

如果我理解你,可以使用Arrays.toString(int[]) 喜欢

System.out.println("Accepted numbers are:" + Arrays.toString(numx));

【讨论】:

    【解决方案3】:

    您可以使用以下方法对数字进行排序:

    Arrays.sort(numx);

    然后根据是否必须以升序或降序打印数组,以正序或逆序打印数组。

    您可以使用以下方法:

    String asc = "";
    String dsc = "";
    for(int num: numx) {
        asc += num + "\n";
        dsc = num + "\n" + dsc;
    }
    val1.charAt(0) == 'A' || val1.charAt(0) == 'a' ?  System.out.println(asc)
    : System.out.println(dsc);
    

    【讨论】:

      【解决方案4】:
      //Use this to sort in ascending order
      
      int max = 0; int temp = 0; int count = 0;
      
      for(int c=0;c<numx.length-1;++c){
          max = numx[c];
          count = c;
          for(int v=c+1;v<numx.length;++v){
              if(numx[v]>max){
                  max = numx[v];
                  count = c;
              }
          }
          temp = numx[c];
          numx[c] = max;
          numx[count] = temp;
      }
      
      //The same goes for descending order but the logic would be (numx[v] < max)
      

      【讨论】:

        猜你喜欢
        • 2013-04-05
        • 1970-01-01
        • 1970-01-01
        • 2012-07-17
        • 2022-01-23
        • 1970-01-01
        • 1970-01-01
        • 2021-04-14
        • 1970-01-01
        相关资源
        最近更新 更多