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

Tem um erro no case 2 ,"no sugundo if", aparece esse erro bad operand types for binary operator "<".

É um programa de ordenação de dados! O erro esta nessa linha no segundo case 2 , if (registro[j] < registro[iMenor]){, alguem sabe porque esta acontecendo esse erro ?

package ordenacao;

import java.io.BufferedReader;

import java.io.File;

import java.io.FileNotFoundException;

import java.io.FileReader;

import java.io.IOException;

import java.util.ArrayList;

import java.util.List;

import java.util.Scanner;

public class Ordenacao {

    public static void main(String[] args) throws IOException {

        System.out.println("############# ARQUIVO TXT ##############");

        System.out.println("");

        /* local do arquivo */

        File arquivo = new File("arquivo.txt");

        StringBuilder conteudo = new StringBuilder();

        BufferedReader reader;

        try {

            reader = new BufferedReader(new FileReader(arquivo));

            String text;

            // repete enquanto existir linhas

            while ((text = reader.readLine()) != null) {

                conteudo.append(text).append(System.getProperty("line.separator"));

            }

            System.out.println(conteudo.toString());

            reader.close();

        } catch (FileNotFoundException e) {

            System.out.println("Arquivo não encontrado!");

        } catch (IOException e) {

            System.out.println("Falha ao tentar ler arquivo! " + e.getMessage());
        }
        System.out.println("###############################################");
        System.out.println("");

        /* armazenar o arquivo em arrayList */

        List<String[]> lista = new ArrayList<>();

        FileReader ent = new FileReader("arquivo.txt");

        BufferedReader br = new BufferedReader(ent);

        String linha;

        while ((linha = br.readLine()) != null) {

            String[] registro = linha.split(" ");

            lista.add(registro);

            // Menu

            int opção;

            System.out.println("============================");

            System.out.println("|          OPÇÃO           |")
;
            System.out.println("============================");

            System.out.println(" 1 Bubble Sort  ");

            System.out.println(" 2 Selection Sort  ");

            System.out.println(" 3 Insertion Sort  ");

            System.out.println("============================");

            Scanner entrada = new Scanner(System.in);

            System.out.print(" DESEJA ORDENAR COM QUAL ALGORITMO :");

            opção = entrada.nextInt();

            switch (opção) {

   case 1:

                    // Ordenação

                    long tempoInicial = System.currentTimeMillis();

                    for (int i = 0; i <= registro.length; i++) {

                        for (int c = i + 1; c < registro.length; c++) {

                            int compareTo = registro[i].compareTo(registro[c]);

                            if (compareTo > 0) {

                                String temp = registro[i];

                                registro[i] = registro[c];

                                registro[c] = temp;
                            }
                        }

                    }

                    for (String string : registro) {

                        for (String valor : registro) {

                            System.out.println(valor);
                        }

                    }


            long tempoFinal = System.currentTimeMillis();

            System.out.print("TEMPO DE EXECUÇÃO DO BUBLLE SORT:");

           System.out.println(tempoFinal - tempoInicial / 1000);

            break;



    case 2:

              for (int i = 0;i< registro.length ;i++){

                int iMenor = i;

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

            int compareTo = registro[i].compareTo(registro[j]);

             if (compareTo > 0) {

            if (registro[j] < registro[iMenor]) {

                int iMaior= j;



                 if (iMenor != iMaior) {

                String temp = registro[i];

                registro[i] = registro[iMenor];

                registro[iMenor] = temp;
              }

            }

           }



            for (String string : registro) {

            for (String valor : registro) {

              System.out.println(valor);
            }

            }

            break;

         }

        }
  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!

1 resposta

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