在Java中显示带有括号和逗号的数组输出?

Posted

技术标签:

【中文标题】在Java中显示带有括号和逗号的数组输出?【英文标题】:Displaying an array output with brackets and commas in Java? 【发布时间】:2016-06-10 13:42:08 【问题描述】:

我正在尝试用括号和逗号在我的程序中打印数组。这是我的代码:

public static void main(String[] args) 

    int[] arrayIntList = new int[10]; // Starting the array with the specified length

    int sum = 0; // Defining the sum as 0 for now

    // Using the for loop to generate the 10 random numbers from 100 to 200, inclusive.
    for(int nums1 = 0; nums1 < arrayIntList.length; nums1++) 
        arrayIntList[nums1] = (int)(100 + Math.random()*101);
               

    Arrays.sort(arrayIntList); // Sorting the array list

    System.out.print("[");
    for(int i = 0; i < arrayIntList.length; i++)  // Printing the array
        System.out.print(arrayIntList[i] + " "); 
        
    System.out.print("]");

    int[] arrayC = CalcArray(arrayIntList); // Sending the array to the method

    System.out.println("");

    for(int doubles : arrayC)  
        System.out.print(doubles + " "); // Printing the output from the second method and calculating the sum
        sum = sum + doubles;
    

    System.out.printf("%nThe total is %,d", sum); // Printing the sum


private static int[] CalcArray(int[] nums) 

    for(int nums2 = 0; nums2 < nums.length; nums2++)  // Doubling the original array
        nums[nums2] *= 2; 
    
    return nums; // Returning the doubles numbers


我正在寻找的格式类似于 [1, 2, 3, 4, 5, 6]。 如果有人可以给我一些指示,那就太好了。 谢谢!

【问题讨论】:

第一次投反对票,万岁! 你现在得到了什么?您需要提供有关该问题的更多信息 【参考方案1】:

Arrays.toString 可以为您完成。

更一般地说,加入者是为此而设计的:

System.out.println(
    Arrays.stream(array)
        .mapToObj(Integer::toString)
        .collect(Collectors.joining(", ", "[", "]")));

奖励:用Arrays.stream(array).sum();计算总和

【讨论】:

【参考方案2】:

你应该简单地使用方法Arrays.toString,它会为你做的,更多细节在Javadoc Arrays.html#toString(int[])。

【讨论】:

当我尝试在数组的 for 循环输出中使用它时,由于字符串类型与 int 类型不兼容,我不断通过代码收到多个错误。我应该在其他地方使用它吗? 直接调用Arrays.toString(arrayIntList),不需要循环【参考方案3】:

如果你想自己实现它,你可以尝试这样的事情:

int[] array = new int[]1, 2, 3, 4, 5, 6;
StringBuilder sb = new StringBuilder();
sb.append("[");
for (int i = 0; i < array.length; i++) 
    sb.append(array[i]);
    if (i < array.length - 1) 
      sb.append(", ");
    

sb.append("]");

【讨论】:

问题是,这是一个班级作业,所以我不能使用这些方法,只能使用本章中提到的方法:( 您可以直接使用 String 而不是 StringBuilder。【参考方案4】:

看看java上的数据结构概念吧!它会对你更有帮助! java API 提供了特殊的类来存储和操作对象组。一个这样的类是 Arraylist

注意 Arraylist 类在 java.util.ArrayList 中

像创建任何对象一样创建 ArrayList。

import java.util.ArrayList;
//..
ArrayList ajay = new ArrayList(); 

这里

ArrayList -> 类

ajay -> 对象

您可以选择指定 Arraylist 将容纳的对象的容量和类型:

ArrayList ajay<String> = new ArrayList<String>(10);

Arraylist 类提供了许多有用的方法来操作对象..

add() 方法将新对象添加到 ArrayList。remove() 方法从 List 中删除对象..

示例代码:

import java.util.ArrayList;
import java.util.Scanner;
public class MyClass 
    public static void main(String[ ] args) 

        Scanner sc = new Scanner(System.in);
        ArrayList<Integer> ajay = new ArrayList<Integer>();
        int num;
        int i;
        for(i=0;i<5;i++)
            num=sc.nextInt();
            ajay.add(num);
        
        System.out.println(ajay);
    

输入:1 2 3 4 5 输出:

[1,2,3,4,5]

如果您有疑问,请学习有关 java 上的 ArrayList 的教程。 谢谢!

【讨论】:

以上是关于在Java中显示带有括号和逗号的数组输出?的主要内容,如果未能解决你的问题,请参考以下文章

打印不带括号和逗号的数组

删除数组列表中的 ]、[、空格和逗号并在 java 中转置

如何从 Python itertools 输出中删除字符串引号、逗号和括号?

用括号和逗号替换字符串中的逗号(如果它们不存在)

在 Spark 中读取最后一列作为值数组的 CSV(并且值在括号内并用逗号分隔)

Java中数组初始值设定项中带有尾随逗号的数组