Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/377.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java中的选择排序 导入java.awt.event.*; 导入javax.swing.*; 导入java.util.ArrayList; 导入java.util.array; 公共类排序实践{ 私有int[]轨道炮={2,7,4,2,4,7,1}; 公共排序实践(){ System.out.println(Arrays.toString(railgun)); 选择运动(轨道炮); System.out.println(Arrays.toString(railgun)); } 公共静态无效选择排序(int[]射线){ 对于(int j=0;j_Java_Sorting_Selection - Fatal编程技术网

Java中的选择排序 导入java.awt.event.*; 导入javax.swing.*; 导入java.util.ArrayList; 导入java.util.array; 公共类排序实践{ 私有int[]轨道炮={2,7,4,2,4,7,1}; 公共排序实践(){ System.out.println(Arrays.toString(railgun)); 选择运动(轨道炮); System.out.println(Arrays.toString(railgun)); } 公共静态无效选择排序(int[]射线){ 对于(int j=0;j

Java中的选择排序 导入java.awt.event.*; 导入javax.swing.*; 导入java.util.ArrayList; 导入java.util.array; 公共类排序实践{ 私有int[]轨道炮={2,7,4,2,4,7,1}; 公共排序实践(){ System.out.println(Arrays.toString(railgun)); 选择运动(轨道炮); System.out.println(Arrays.toString(railgun)); } 公共静态无效选择排序(int[]射线){ 对于(int j=0;j,java,sorting,selection,Java,Sorting,Selection,我已经在纸上写下了这段代码,并运行了多次,但由于某些原因,它不起作用。我不确定我是否错过了a-1或者什么,只是没有注意到。有人请看一下 我不是在寻找工作代码。对我的错误进行解释/纠正,以便我能更好地理解我做错了什么,以及如何自己纠正它。谢谢:)这里可能有问题:int low=0; 试着改变低=j 我试过了,成功了 import java.awt.event.*; import javax.swing.*; import java.util.ArrayList; import java.util.

我已经在纸上写下了这段代码,并运行了多次,但由于某些原因,它不起作用。我不确定我是否错过了a-1或者什么,只是没有注意到。有人请看一下


我不是在寻找工作代码。对我的错误进行解释/纠正,以便我能更好地理解我做错了什么,以及如何自己纠正它。谢谢:)

这里可能有问题:int low=0; 试着改变低=j

我试过了,成功了

import java.awt.event.*;
import javax.swing.*;
import java.util.ArrayList;
import java.util.Arrays;


public class SortPractice {

private int[] railgun = {2,7,4,2,4,7,1};


public SortPractice() {
    System.out.println(Arrays.toString(railgun));
    SelectionSort(railgun);
    System.out.println(Arrays.toString(railgun));
}


public static void SelectionSort(int[] ray){

    for(int j = 0; j < ray.length; j++){

    int low = 0;
    for(int i = j; i < ray.length;i++){
        if(ray[i] < ray[low])
            low = i;
    }
    System.out.println(ray[low]);
    int temp = ray[low];
    ray[low] = ray[j];
    ray[j] = temp;
}

}


public static void main(String[] args) {
   SortPractice steve = new SortPractice();
}
}
publicstaticvoidselectionsort(int[]ray){
对于(int j=0;j
试试这个。它很简单

public static void SelectionSort(int[] ray){

    for(int j = 0; j < ray.length; j++){

    int low = j;
    for(int i = j; i < ray.length;i++){
        if(ray[i] < ray[low])
            low = i;
    }
    System.out.println(ray[low]);
    int temp = ray[low];
    ray[low] = ray[j];
    ray[j] = temp;
}
publicstaticvoidselectionsort(int[]数字){
int-tempVar=0;
for(int i=0;i数字[j]){
tempVar=数字[j-1];
数字[j-1]=数字[j];
数字[j]=tempVar;
}
}
}
}
int low=j

否则,你总是将数字与第一个数字进行比较

注:

  • 你的名字很糟糕:wtf是轨道炮?wtf是雷
  • 方法应以小写字母开头->选择应为选择
  • 缩进

  • 不要说你只是一个初学者。这些都是每个人都应该首先学习的问题。

    使用调试器或继续测试论文。谢谢!我刚刚解决了这个问题,现在看看为什么!它总是编辑第一个数字!愚蠢的错误。low是零->如果(ray[I]public static void SelectionSort(int[] numbers) { int tempVar = 0; for (int i = 0; i < numbers.length; i++) { for (int j = 1; j < numbers.length - i; j++) { if (numbers[j - 1] > numbers[j]) { tempVar = numbers[j - 1]; numbers[j - 1] = numbers[j]; numbers[j] = tempVar; } } } }