如何修复Bubblesort中缺少的返回语句?

时间:2014-05-22 13:14:21

标签: java sorting bubble-sort

我对Java完全陌生,对它有一点点线索。我已经被教过'现在几个月了,但我仍然无法理解它。

这是我的代码给出了错误:

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import java.util.*;

public class Bubblesort {

  private int x,y,n;
  private int arr[];

  public Component createComponents() {
    int temp; 
    for (int x = 0; x < n - 1; x++) { 
      for (int y = x + 1; y < n; y++) { 
        if (arr[x] > arr[y]) { 
          temp = arr[y]; 
          arr[y] = arr[x]; 
          arr[x] = temp; 
        } 
      } 
    } 
  } 
}

我已经尝试了一些随机的回复声明,但就像我说的那样......我真的不知道自己在做什么,所以做什么我必须要做什么?

6 个答案:

答案 0 :(得分:0)

不清楚问题是什么,但这里有good java bubble sort example你可以关注。

答案 1 :(得分:0)

如果你真的想要返回一些东西,你应该返回一个int数组而不是一个Component,如下所示:

public int[] createComponents() {
    int temp; 
    for (int x = 0; x < n - 1; x++) { 
      for (int y = x + 1; y < n; y++) { 
        if (arr[x] > arr[y]) { 
          temp = arr[y]; 
          arr[y] = arr[x]; 
          arr[x] = temp; 
        } 
      } 
    }
    return arr;
  }

答案 2 :(得分:0)

你需要有一个Main才能让事情顺利进行。

请参阅http://docs.oracle.com/javase/tutorial/getStarted/application/index.html了解经典&#34; Hello World。&#34;

在其中,您还将看到如何写入控制台(System.out.println)。 Main也是您可以在数组中放置数字的地方。

答案 3 :(得分:0)

由于您的函数最后是Component类型,因此您需要返回一个组件

Component x = foo;

然后在你的功能底部

return foo;

虽然在这种情况下我建议使用int[]类型或类型void,但您不必使用return语句。我个人推荐后者,因为我通常会这样做,并且它会更好地与您的代码对齐,因为您的数组是公共的,因此不需要返回任何内容。

答案 4 :(得分:0)

您的代码存在一些问题:

  1. createComponents()应该返回一个int []而不是一个Component。
  2. arr永远不会被初始化。在你的类中创建一个构造函数 使用值初始化数组。
  3. 在类中创建一个main()方法,以便实例化Bubblesort对象并调用 的createComponents()

答案 5 :(得分:0)

我建议在使用任何语言实现算法之前,首先应该编写一个伪代码,然后继续实现。像这样的冒泡算法的实现肯定不是学习和实现Java技术的最好方法。我会建议首先阅读一些Java教程,开始使用“Hello World”并了解基础知识。最好的运气!!