Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.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_Arrays_Java 8 - Fatal编程技术网

Java 如何应用选择方法按字母顺序排序?

Java 如何应用选择方法按字母顺序排序?,java,arrays,java-8,Java,Arrays,Java 8,我们必须使用选择方法。使用此数组 C54411 B92542 A95720 A22523 B4562 B32567 B42667 C72588 C42214 C34767 仅使用第一个属性,我将它们保存在temp、“minimo”和“maximo”中` 这是我最接近的结果 Estudiante[] aux = new Estudiante[1]; int contador = 0; int contador2 = 1; for (int i = 1; i < arregloEstudia

我们必须使用选择方法。使用此数组

C54411
B92542
A95720
A22523
B4562
B32567
B42667
C72588
C42214
C34767
仅使用第一个属性,我将它们保存在temp、“minimo”和“maximo”中` 这是我最接近的结果

Estudiante[] aux = new Estudiante[1];
int contador = 0;
int contador2 = 1;
for (int i = 1; i < arregloEstudiante.length - 1; i++) {
    String minimo = arregloEstudiante[contador].getCarnet();
    int menor = i;
    for (int j = i + 1; j < arregloEstudiante.length; j++) {
        String maximo = arregloEstudiante[contador2].getCarnet();
        if (minimo.compareTo(maximo) < 0) {
            menor = j;
        }
        if (menor == j) {
            aux[0] = arregloEstudiante[i];
            arregloEstudiante[i] = arregloEstudiante[menor];
            arregloEstudiante[menor] = aux[0];
        }
    }
    contador++;
    contador2++;
}
return arregloEstudiante;
        arregloEstudiante[0] = new Estudiante("C54411", "Maria", "Mora Mora", 700);
        arregloEstudiante[1] = new Estudiante("B92542", "Jose", "Solano Solano", 444);
        arregloEstudiante[2] = new Estudiante("C42214", "Alonso", "Solano Mora", 800);
        arregloEstudiante[3] = new Estudiante("A95720", "Miguel", "Mora Solano", 550);
        arregloEstudiante[4] = new Estudiante("B32567", "Andrea", "Jimenez Ureña", 625);
        arregloEstudiante[5] = new Estudiante("C34767", "Fabian", "Sanchez Alvarado", 740);
        arregloEstudiante[6] = new Estudiante("C72588", "Martin", "Moya Ureña", 592);
        arregloEstudiante[7] = new Estudiante("B42667", "Fabiana", "Sanchez Alvarado", 689);
        arregloEstudiante[8] = new Estudiante("A22523", "Mariano", "Mora Mora", 750);
        arregloEstudiante[9] = new Estudiante("B4562", "Alonso", "Solano Morales", 497);
我必须使用选择顺序方法。使用这个数组,我必须按字母顺序排列,使用第一个属性,我将它们保存在temp“minimo”和“maximo”中

我使用这个类

C54411
B92542
A95720
A22523
B4562
B32567
B42667
C72588
C42214
C34767
这是我的课,我觉得一切都很好。 我必须使用选择顺序的方法。 如果有人找到解决办法,请告诉我。 使用JAVA 1.8编译,您将使用它根据
carnet
属性对
Estudiante
数组进行排序

我从网页上复制了代码,并对其进行了修改以满足您的需要

导入java.util.array;
公开课学生{
私人字符串卡内特;
私有字符串名称;
私有字符串apellidos;
私人承认;
公共电子学生(字串卡内、字串名称、字串名称、内部注释){
this.carnet=carnet;
this.nombre=nombre;
this.apellidos=apellidos;
this.notadmission=notadmission;
}
公共字符串getCarnet(){
归还这张卡内特;
}
公共字符串getNombre(){
返回这个.nombre;
}
公共字符串getApellidos(){
返回这个.apellidos;
}
public int getnotadministration(){
退回此文件。不接受;
}
公共无效设置单证册(字符串单证册){
this.carnet=carnet;
}
public void setNombre(字符串nombre){
this.nombre=nombre;
}
公共void setApellidos(字符串apellidos){
this.apellidos=apellidos;
}
公共无效setnotadministration(int notadministration){
this.notadmission=notadmission;
}
公共静态无效排序(最终评估人员[]arr){
对于(int i=0;i0){
minElementIndex=j;
}
}
if(minElementIndex!=i){
学生温度=arr[i];
arr[i]=arr[minElementIndex];
arr[minElementIndex]=温度;
}
}
}
公共静态void main(字符串[]args){
Estudiante[]arregloEstudiante=新的Estudiante[10];
arregloEstudiante[0]=新的Estudiante(“C54411”,“Maria”,“Mora Mora”,700);
arregloEstudiante[1]=新的Estudiante(“B92542”,“Jose”,“Solano-Solano”,444);
arregloEstudiante[2]=新的Estudiante(“C42214”、“阿隆索”、“索拉诺·莫拉”,800);
arregloEstudiante[3]=新的Estudiante(“A95720”、“Miguel”、“Mora Solano”,550);
arregloEstudiante[4]=新的Estudiante(“B32567”,“Andrea”,“Jimenez Ureña”,625);
arregloEstudiante[5]=新的Estudiante(“C34767”,“Fabian”,“Sanchez Alvarado”,740);
arregloEstudiante[6]=新的Estudiante(“C72588”,“Martin”,“Moya Ureña”,592);
arregloEstudiante[7]=新的Estudiante(“B42667”,“Fabiana”,“Sanchez Alvarado”,689);
arregloEstudiante[8]=新的Estudiante(“A22523”,“Mariano”,“Mora Mora”,750);
arregloEstudiante[9]=新的Estudiante(“B4562”、“阿隆索”、“索拉诺·莫拉莱斯”,497);
排序(arregloEstudiante);
Arrays.stream(arregloEstudiante)
.forEach(e->System.out.println(e.getCarnet());
}
}
  • 我添加的唯一方法是
    sortAscending()
  • 代码的最后几行只是打印出排序后的数组。它们不会影响实际的分拣操作。如果需要打印,可以使用任何方法打印排序后的数组
下面是运行上述代码时得到的输出

public class Estudiante {

private String carnet;
private String nombre;
private String apellidos;
private int notaAdmision;

public Estudiante() {

}

public Estudiante(String carnet, String nombre, String apellidos, int notaAdmision) {
    this.carnet = carnet;
    this.nombre = nombre;
    this.apellidos = apellidos;
    this.notaAdmision = notaAdmision;
}

public String getCarnet() {
    return this.carnet;
}

public String getNombre() {
    return this.nombre;
}

public String getApellidos() {
    return this.apellidos;
}

public int getNotaAdmision() {
    return this.notaAdmision;
}

public void setCarnet(String carnet) {
    this.carnet = carnet;
}

public void setNombre(String nombre) {
    this.nombre = nombre;
}

public void setApellidos(String apellidos) {
    this.apellidos = apellidos;
}

public void setNotaAdmision(int notaAdmision) {
    this.notaAdmision = notaAdmision;
}

欢迎来到堆栈溢出。不幸的是,你似乎忘了问一个问题,或者至少你没有把它当作一个问题,所以请阅读。事实上,您声称“一切正常”,如果为真,则意味着您实际上没有问题,因为您的代码工作正常。如果是这样,恭喜你。然而,如果不是一切都正常,您应该告诉我们什么不起作用:您使用的是什么输入,您期望的是什么输出,以及您实际得到的是什么输出?
A22523
A95720
B32567
B42667
B4562
B92542
C34767
C42214
C54411
C72588