1. java
  2. android
  3. c#
  4. .net
  5. javascript
  6. php
  7. jquery
  8. html
  9. sql

inserção ordenada de notas

Como faço para criar um método em SimpleList.java que faça a inserção ordenada de notas dos alunos nessa lista. Abaixo coloquei todo meu código gostaria de mexer so em SimpleList.java tem como e como ficaria . Essa é minha classe Exception.

public class EmptyListException extends RuntimeException {
    public EmptyListException()
      {
           super("A lista está vazia");
        }
}

Essa é minha classe ListNode.

class ListNode {

    Object data;

    ListNode next;


    ListNode(Object d, ListNode n) {
        data = d;
        next = n;
    }


    ListNode(Object d) {
        this(d, null);
    }
}

Essa é minha classe principal. import java.util.Scanner;

public class Test {
static String matricula, nome, disciplina;
static float nota;
static SimpleList simpleList = new SimpleList();
static Scanner input = new Scanner(System.in);
public static void main (String args[]){
int tecla;
do{
System.out.println("\n1 - Inserir | 2 - Remover | 3 - Exibir | 4 - Sair");
tecla = input.nextInt();
input.nextLine();
switch(tecla){
case 1:insert(); break;
case 2:
try {
simpleList.removeFromBack();
System.out.println("Removido com sucesso!");
input.nextLine();
} catch (Exception e) {
System.out.println(e.getMessage());
}
break;
case 3:
simpleList.print();
input.nextLine();break;
}
} while(tecla != 4);
}
static void insert(){
System.out.println("Digite a matrícula:");
matricula = input.nextLine();
System.out.println("Digite o nome:");
nome = input.nextLine();
System.out.println("Digite a disciplina:");
disciplina = input.nextLine();
System.out.println("Digite a nota:");
nota = input.nextFloat();
input.nextLine();
simpleList.insertAtBack(new Aluno(matricula, nome, disciplina, nota));
}

    private static class Aluno {

        public Aluno(String matricula, String nome, String disciplina, float nota) {
        }
    }
}

Essa é a classe no qual desejo modificar

public class SimpleList {

    /**
     * Aponta para o primeiro nó da lista.
     */
    private ListNode firstNode;
    /**
     * Aponta para o último nó da lista.
     */
    private ListNode lastNode;

    /**
     * Cria uma lista vazia fazendo os primeiro (firstNode) e último (lastNode)
     * nós como nulos.
     */
    public SimpleList() {
        firstNode = lastNode = null;
    }

    /**
     * Insere um nó no início da lista.
     *
     * @param newItem armazena dados de um nó do tipo Object.
     */
    public void insertAtFront(Object newItem) {
        if (isEmpty()) {
            firstNode = lastNode = new ListNode(newItem);
        } else {
            firstNode = new ListNode(newItem, firstNode);
        }
    }

    /**
     * Insere um nó no fim da lista.
     *
     * @param newItem armazena dados de um nó do tipo Object.
     */
    public void insertAtBack(Object newItem) {
        if (isEmpty()) {
            firstNode = lastNode = new ListNode(newItem);
        } else {
            lastNode = lastNode.next = new ListNode(newItem);
        }
    }

    /**
     * Remove um nó do início da lista.
     */
    public void removeFromFront() throws EmptyListException {
        if (isEmpty()) {
            throw new EmptyListException();
        }

        if (firstNode.equals(lastNode)) {
            firstNode = lastNode = null;
        } else {
            firstNode = firstNode.next;
        }
    }

    /**
     * Remove um nó do fim da lista.
     */
    public void removeFromBack() throws EmptyListException {
        if (isEmpty()) {
            throw new EmptyListException();
        }

        if (firstNode.equals(lastNode)) {
            firstNode = lastNode = null;
        } else {
            ListNode current = firstNode;
            while (current.next != lastNode) {
                current = current.next;
            }
            lastNode = current;
            current.next = null;
        }
    }

    /**
     * Informa se a lista está vazia ou não.
     *
     * @return Retorna true se lista estiver vazia e false, caso contrário.
     */
    public boolean isEmpty() {
        return firstNode == null;
    }

    /**
     * Exibe os dados de todos os objetos, um a um. É necessário que o objeto do
     * nó possua um método toString.
     */
    public void print() {
        if (isEmpty()) {
            System.out.println("A está vazia");
        }

        ListNode current = firstNode;

        while (current != null) {
            System.out.print(current.data.toString() + " ");
            current = current.next;
        }
        System.out.print("\n");
    }
}
  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do GUJ!

2 respostas

Não é a resposta que estava procurando? Procure outras perguntas com as tags java java-ee java8 ou faça a sua própria pergunta.