通过调用另一个类中引用另一个Java Eclipse方法的方法打印出排序数组
我在另一个类中使用方法时遇到问题。我必须调用一个方法,该方法调用另一个方法来使用冒泡排序对字符串数组进行排序 守则:通过调用另一个类中引用另一个Java Eclipse方法的方法打印出排序数组,java,arrays,eclipse,methods,printing,Java,Arrays,Eclipse,Methods,Printing,我在另一个类中使用方法时遇到问题。我必须调用一个方法,该方法调用另一个方法来使用冒泡排序对字符串数组进行排序 守则: /** * My pride and joy, the bubble sort. * @return */ public void BubbleSort(){ boolean run = true; String temp; while (run) { run = false; for(
/**
* My pride and joy, the bubble sort.
* @return
*/
public void BubbleSort(){
boolean run = true;
String temp;
while (run)
{
run = false;
for(int i = 0; i <stringArray.length - 1; i++)
{
if(stringArray[i].compareToIgnoreCase( stringArray[i+1]) > 0)
{
temp = stringArray[i];
stringArray[i] = stringArray[i+1];
stringArray[i+1] = temp;
run = true;
}// end of if
}// end of for
}// end of while
System.out.println(stringArray);
}// end of BubbleSort
public void PrintSortedString(){
BubbleSort();
}
输入为:
Please enter names:
z
a
Your names:
[z, a]
[Ljava.lang.String;@4efe03b3 // this is where it should priont [a,z]
我做错了什么?而不是
System.out.println(stringArray);
尝试使用
System.out.println(Arrays.toString(stringArray));
第一个是打印有关数组的信息,第二个是打印内容
已更新
如果希望这些方法返回排序操作的结果,则需要定义执行此操作的方法
public String[] BubbleSort(){
/*...*/
return stringArray;
}// end of BubbleSort
public String[] PrintSortedString(){
return BubbleSort();
}
这将允许您使用System.out.println(Arrays.toString(stringUtility.PrintSortedString())
您还应该花时间通读而不是
System.out.println(stringArray);
尝试使用
System.out.println(Arrays.toString(stringArray));
第一个是打印有关数组的信息,第二个是打印内容
已更新
如果希望这些方法返回排序操作的结果,则需要定义执行此操作的方法
public String[] BubbleSort(){
/*...*/
return stringArray;
}// end of BubbleSort
public String[] PrintSortedString(){
return BubbleSort();
}
这将允许您使用System.out.println(Arrays.toString(stringUtility.PrintSortedString())
你也应该花时间通读你所看到的
[Ljava.lang.String;@4efe03b3
是由于
System.out.println(stringArray);
它在内部调用stringArray.toString()
,并打印结果
此行为适用于所有对象。如果需要自定义字符串消息,则需要让类实现一个自定义的toString()
方法,而不是依赖。由于无法更改string[]
类,因此需要自己迭代元素
或者,您可以依赖作为JDK一部分的数组类
System.out.println(Arrays.toString(stringArray));
你看到了什么
[Ljava.lang.String;@4efe03b3
是由于
System.out.println(stringArray);
它在内部调用stringArray.toString()
,并打印结果
此行为适用于所有对象。如果需要自定义字符串消息,则需要让类实现一个自定义的toString()
方法,而不是依赖。由于无法更改string[]
类,因此需要自己迭代元素
或者,您可以依赖作为JDK一部分的数组类
System.out.println(Arrays.toString(stringArray));
有意义的是,首先我尝试在驱动程序类中使用Arrays.toString(stringUtility.PrintSortedString()),这会在me@user2817719方法PrintSortedString
不返回任何内容。它本来不应该返回任何内容。有道理,首先我尝试使用Arrays.toString(stringUtility.PrintSortedString());在驱动程序类中。这将在me@user2817719方法PrintSortedString
不会返回任何内容。它从来没有被认为会返回任何内容。Java编码风格的小技巧-通常接受以小写字母开始方法名,以大写字母开始类名。例如,公共类MyClass
和public void doSomething()
@Meesh请不要修改发布的代码,除非对其进行格式化,您已经更改了OP发布的方法签名,这可能会使人们在回答OP的问题时更加困惑question@MadProgrammer注意,谢谢。Java编码风格的小技巧-一般接受以小写字母开头的方法名d带有大写字母的类名称。例如,public class MyClass
和public void doSomething()
@Meesh请不要修改发布的代码,除非对其进行格式化,您已经更改了OP发布的方法签名,这可能会使人们在回答OP的问题时更加困惑question@MadProgrammer注意,谢谢。