为什么我的Java程序没有运行?
下面的程序交换数组中的两个元素。但它似乎没有运行,但我确信我没有做错任何事情为什么我的Java程序没有运行?,java,arrays,Java,Arrays,下面的程序交换数组中的两个元素。但它似乎没有运行,但我确信我没有做错任何事情 public class swap { public static String[] swap(int first, int second, String[] A) { String hold = A[first]; A[first] = A[second]; A[second] = hold; return A; } publ
public class swap {
public static String[] swap(int first, int second, String[] A) {
String hold = A[first];
A[first] = A[second];
A[second] = hold;
return A;
}
public static void main(String[] args) {
String[] B = {"Dawn", "Justice", "Of"};
String[] c = swap.swap(1, 2, B);
System.out.print(c);
}
}
1.)需要创建交换类的对象
,或者因为它是静态的
不需要创建对象,只需使用交换(1,2,B)代码>
2.)打印数组。toString(c)
修改代码
public static String[] swap(int first, int second, String[] A) {
String hold = A[first];
A[first] = A[second];
A[second] = hold;
return A;
}
public static void main(String[] args) {
String[] B = { "Dawn", "Justice", "Of" };
String[] c = swap(1, 2, B);
System.out.print(Arrays.toString(c));
}
输出
[Dawn, Of, Justice]
导入java.util.array;
公共类交换{
public static String[] swap(int first, int second, String[] A) {
String hold = A[first];
A[first] = A[second];
A[second] = hold;
return A;
}
public static void main(String[] args) {
String[] B = {"Dawn", "Justice", "Of"};
String[] c = swap.swap(1, 2, B);
System.out.print(Arrays.toString(c));
}
}是的,但是如果您打印的是数组toString
(或等效)输出,而不是它的内容,请尝试使用System.out.print(arrays.toString(c))代码>insteadany运行时出错?错误:[Ljava.lang.String@659e0bfd@3kings输出是[Ljava.lang.String;@2a139a55
,而不是OP所期望的(我相信他们希望看到[Dawn,Of,Justice]
)@KenSlade认为有两个,但数组中有3个元素,OP想要交换正义
,而的第一点是无效的,因为交换
是静态的
,不依赖任何未传递给it@MadProgrammer没错,修改过了