Jump to content
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

inarus

Comparaçao

Recommended Posts

inarus

ola

sou novo no fórum e iniciei cava a pouco tempo.

neste momento o meu programa está a dar erro.

o programa consiste em que o utilizador introduza uma equação e faça uns cálculos.

li essa equação como string e dividi os vários caracteres para um array com "toCharArray()" mas  agora quero  percorrer o array e encontrar o sinal de mais ou de menos mas da-me erro.

eu fiz assim

 System.out.println("introduza um plano");
       String expressao = ler.next();
       char[] letras = expressao.toCharArray();
       for(i=0;i<expressao.length();i++){
      if(letras[i]=="+")

da um erro de imcomparable types, já experimentei com equals e o compareTo mas nada

toda ajuda é bem vinda!

peço desculpa se fiz algo de mal

obrigado

Share this post


Link to post
Share on other sites
Knitter

Como o Ferreira te disse, um char é identificado por plicas e não por aspas. Mas se estivesses a usar Strings, então terias um bug algo escondido, uma String não pode ser comparada com o operador de igualdade, nenhum objecto pode e a String é um objecto.

Share this post


Link to post
Share on other sites
inarus

Desculpa la a minha ignorância, mas eu posso usar plicas numa string?

e numa variavel char pode-se usar equals e compareTO?

Share this post


Link to post
Share on other sites
Ferreira

Não sei se percebi, queres uma string que contém uma plica? Tens de usar sequências de escape:

String plica = "Isto é uma plica: \'";

E char é um tipo primitivo, logo só podes usar operadores sobre ele, nunca métodos.

Share this post


Link to post
Share on other sites
inarus

era so um pergunta!

eu estava a referir se numa string podia usar ' ' do tipo

String ola='ola';

mas não dá porque -->

E char é um tipo primitivo, logo só podes usar operadores sobre ele, nunca métodos.

já estou esclarecido! muito obrigado!

Share this post


Link to post
Share on other sites
Knitter

eu estava a referir se numa string podia usar ' ' do tipo

String ola='ola';

Não dá porque o uso de aspas permite indicar ao compilador um atalho para a construção de uma String.

Assim, quando fazes

String s = "Olá";

é o mesmo que fazer

String s = new String("Olá");

Objectos do tipo String são sempre e apenas identificados por aspas, podes ter plicas dentro de uma String mas não podes delimitar uma String usando plicas nas operações normais.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.