Member 13240522 Ответов: 1

Этот код не работает ? это для выбора вида массива


public class Sort{
  
  int[]array;
  
  public Sort(int size){
    
    this.array=new int[size];
  }
  
  public int[]SlectionSort(int[]array){
    
    int i;
    int j;
    int minvalue;
    int minindex;
    int temp=0;
    
    for(i=0;i<array.length;i++){
      
      minvalue=array[i];
      minindex=i;
    
    
    for(j=i;j<array.length;j++){
      if(array[j]<minvalue)
      minvalue=array[j];
      minindex=j;
  }
if(minvalue<array[i])
  temp=array[i];
    array[i]=array[j];
    array[j]=temp;
    }
  return array;

  }
public void display(){
  
  for(int i=0;i<array.length;i++)
    System.out.println(array[i]+" ");
}

public static void main(String[]args){
  
  Sort a=new Sort(4);
  a[0]=9;
  a[1]=2;
  a[2]=7;
  a[3]=1;
  a.SlectionSort();
  a.display();
}
}


Что я уже пробовал:

может ли кто-нибудь заставить его работать, потому что я не могу понять ошибку

1 Ответов

Рейтинг:
1

Patrice T

Совет: сделайте правильный отступ в коде, это поможет чтению.
Настоящий кодекс:

if(array[j]<minvalue)
minvalue=array[j];
minindex=j;

означает
if(array[j]<minvalue) {
  minvalue=array[j];
}
minindex=j;

Боюсь, это не то, чего ты хочешь.

Существует инструмент, который позволяет вам видеть, что делает ваш код, его имя-отладчик. Освоение отладчика не является обязательным, оно обязательно для любого программиста, без исключения.
Это также отличный инструмент обучения, потому что он показывает вам реальность, и вы можете увидеть, какие ожидания соответствуют реальности.
Когда вы не понимаете, что делает ваш код или почему он делает то, что делает, ответ таков: отладчик.
Используйте отладчик, чтобы увидеть, что делает ваш код. Просто установите точку останова и посмотрите, как работает ваш код, отладчик позволяет вам выполнять строки 1 на 1 и проверять переменные по мере их выполнения, это невероятный инструмент обучения.

Отладчик-Википедия, свободная энциклопедия[^]
http://docs.oracle.com/javase/7/docs/technotes/tools/windows/jdb.html[^]
https://www.jetbrains.com/idea/help/debugging-your-first-java-application.html[^]
Отладчик здесь для того, чтобы показать вам, что делает ваш код, и ваша задача-сравнить его с тем, что он должен делать.
В отладчике нет никакой магии, он не находит ошибок, он просто помогает вам. Когда код не делает того, что ожидается, вы близки к ошибке.


CPallini

5.

Patrice T

Спасибо