我有一个从方法返回的数组,它类似于{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
方法返回一个数组。
答案 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]+"*");
}
}
}