黑马程序员技术交流社区
标题:
请大侠帮我看看这个程序为什么不报错,但是没有数据显示
[打印本页]
作者:
傲鸽
时间:
2013-6-16 21:05
标题:
请大侠帮我看看这个程序为什么不报错,但是没有数据显示
本帖最后由 傲鸽 于 2013-6-22 23:11 编辑
class Demo
{
public static void main(String[] args)
{
int[] arr1={2,5,8,1,4,3};
System.out.println(print(arr1));
bubbleSort(arr1);
System.out.println(print(arr1));
}
public static void bubbleSort(int[] arr){
for (int i=0;i<arr.length-1 ; i++){
for (int j=0;j<arr.length-1-i ;j++ ){
if(arr[j]>arr[j+1]){
int temp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
}
}
}
}
public static String print(int[] arr){
String str="[";
int x=0;
while (x!=arr.length-1){
str=str+arr[x]+",";
}
str=str+arr[x]+"]";
return str;
}
}
作者:
左耳的鱼
时间:
2013-6-16 21:06
while循环应该加个计数器x++,要不成为死循环了。。。
作者:
左耳的鱼
时间:
2013-6-16 21:07
class Demo
{
public static void main(String[] args)
{
int[] arr1={2,5,8,1,4,3};
System.out.println(print(arr1));
bubbleSort(arr1);
System.out.println(print(arr1));
}
public static void bubbleSort(int[] arr){
for (int i=0;i<arr.length-1 ; i++){
for (int j=0;j<arr.length-1-i ;j++ ){
if(arr[j]>arr[j+1]){
int temp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
}
}
}
}
public static String print(int[] arr){
String str="[";
int x=0;
while (x!=arr.length-1){
str=str+arr[x]+",";
x++;
}
str=str+arr[x]+"]";
return str;
}
}
作者:
。子伤。
时间:
2013-6-16 21:38
package text_2013_6_16;
public class Demo2 {
public static void main(String[] args) {
int[] arr1 = { 2, 5, 8, 1, 4, 3 };
// System.out.println(print(arr1));
// bubbleSort(arr1);
// System.out.println(print(arr1));
System.out.println("遍历前的数组!");
print(arr1);
bubbleSort(arr1);
System.out.println();
System.out.println("遍历后的数组!");
print(arr1);
}
public static int[] bubbleSort(int[] arr) { // 这里 返回值是空,能打印???
for (int i = 0; i < arr.length - 1; i++) {
for (int j = 0; j < arr.length - 1 - i; j++) {
if (arr[j] > arr[j + 1]) {
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
return (arr);
}
/*
* public static String print(int[] arr) {//这里我也没看懂你想要什么。估计是想遍历一下数组。
*
* String str = "["; int x = 0; while (x != arr.length - 1) { str = str +
* arr[x] + ","; } str = str + arr[x] + "]";
*
* return str; }
*/
public static void print(int[] arr) {
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i] + " ");
}
}
}
复制代码
作者:
。子伤。
时间:
2013-6-16 21:40
写函数的时候,你要明确函数的返回值和参数列表。这是函数的核心。假如改的不是和你想的一样,那就在描述得详细一些!!
作者:
鑫森淼焱垚
时间:
2013-6-16 22:08
同学你好,请看看注释:
public static String print(int[] arr){
String str="[";
int x=0;
while (x!=arr.length-1){
str=str+arr[x]+",";
x++;//同学,你忘记在while循环里面加x++;从而造成条件永远为true,while是一个死循环
} //运行一下,看看可以吗,希望能够帮上你!
str=str+arr[x]+"]";
return str;
}
}
作者:
傲鸽
时间:
2013-6-18 09:27
谢谢大家,我懂了
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2