从main中的方法打印数组

时间:2014-03-25 08:42:18

标签: java arrays printing return

我有一个从方法返回的数组,它类似于{2,2,3,5,0,0,0,0},我想将它打印到main的输出,如:2*2*3*5,我该怎么做?这是我的代码:

RozkladLiczby a=new RozkladLiczby(Integer.parseInt(args[0]));
System.out.println(Arrays.toString(a.czynnikiPierwsze(Integer.parseInt(args[i]))));

当我使用Arrays.toString()时,我会得到类似{2,2,3,5,0,0,0,0}的输出。

我怎么能像以前写的那样得到它? RozkladLiczby创建了一个int数组,czynnikiPierwsze方法返回一个数组。

4 个答案:

答案 0 :(得分:0)

您可以迭代数组以您想要的方式打印它。查看Arrays.toString()方法源代码,了解如何执行此操作。

看起来应该是这样的:

int[] arr = a.czynnikiPierwsze(Integer.parseInt(args[i])))
   for (int i = 0; i < arr.length; i++) {
      if (i > 0) {
          System.out.println("*");
      }
   System.out.println(arr[i]);
}

答案 1 :(得分:0)

你可以这样做:

import java.util.Arrays;

public class PrintArray{

 public static void main(String []args){
    String g = Arrays.toString(a.czynnikiPierwsze(Integer.parseInt(args[i])));
    g = g.replace(", 0","");
    g = g.replace(", ","*");
    g = g.replace("[","");
    g = g.replace("]","");
    System.out.println(g);
 }

}

INPUT:{2,2,3,5,0,0,0,0}

输出:2 * 2 * 3 * 5

答案 2 :(得分:0)

尝试这样的事情:

   String s = "";
    for (int n : myArray){
     s += n + "*";
    }

拥有myArray int数组。 如果myArray{2,2,3,5,0,0,0,0},则会打印出来:

2*2*3*5*0*0*0*0*

如果您不想在最后一个元素之后打印*,则必须考虑检查数组的最后一个元素。

答案 3 :(得分:0)

以下是打印无0位数的示例。

public class Main {

    static int a[] = {1,2,3,4,5,6,0,0,0,0};

    public static void main(String args[]){

        for(int i=0; i<a.length; i++){
            if(a[i]!=0)
                System.out.print(a[i]+"*");    

        }
    }
}