o codigo ta em C++ desculpe la …
mas eu consgui fazer em c…
mas em java n consigo como fazer isso.Ja pensei em passar para String…mas…hum n chego la…
se houve uma string compare…ou melhor se os metodos da string fossem tb para os chars era muito bom…
aguardo ajuda companheiros…
ja tou na Main()
o projecto ta mesmo no fim…
char é tipo primitivo então a comparação é feita por == e só com tipos compatíveis (int, byte). Só que char é só 1 char, então não poderias comparar com “IC”. Para comparar Strings, a própria classe String tem um método de comparação de igualdade e um de qualidade.
Nesses casos e em muitos outros, leia a documentação.
Até!
Alkamavo
estive a ler mesmo agora e tens razao o char é util noutros casos…e neste estava a me ser traiçoeiro…
Eu fui por este caminho porque a prof me atraiçoou…mas a gaja é boa demais e tou sempre a ouvir o k ela me diz… :twisted:
Olá rapaz
tenta usar o .equals ou .contains ao inves de compareTo… isso deve te ajudar
ficarica +/- assim: cmd.equals(“IC”) => isso te retorna true ou false
também tem isso cmd.contains(“IC”) => retorna true ou false
flessss
espero ter ajudado
Alkamavo
thiago.filadelfo:
Olá rapaz
tenta usar o .equals ou .contains ao inves de strcomp… isso deve te ajudar
ficarica +/- assim: cmd.equals(“IC”) => isso te retorna true ou false
também tem isso cmd.contains(“IC”) => retorna true ou false
flessss
espero ter ajudado
thiago…para o char estes metodos n existem…
mas ja tentei de uma forma k ja postei acima e parece k resulta…mas mesmo assim obrigado pela força…
valeu…
doug
É tem razão para o char naum tem, somente praa String
dai ele tem o equals… acho ateh melhor que o compareTo.!!
ae vc esta escrevendo o equals na mão… resumindo!!
Mas se funcionou… sem problemas…
de nada pela força…
qq coisa estamos aqui…
flwsss
Alkamavo
Boas amigos…
Ja resolvi o problema por completo…e como pode ser que alguem amanha tenha o mesmo problema…vou Postar o Codigo.
Se introduzir por exemplo : IC mac pr
transforma em :ICmacpr e so me pega o IC k é o comando…
valeu ajuda de todos…
publicstaticintComandos(Stringcmd){// inserir veiculoif((cmd.compareTo("IV")==0))return1;// Inserir acidenteelseif(cmd.compareTo("IA")==0)return2;// Remover acidenteelseif(cmd.compareTo("RA")==0)return3;// Consultar acidenteelseif(cmd.compareTo("CA")==0)return4;// Consulta Cadastro de um veiculoelseif(cmd.compareTo("CV")==0)return5;// Consulta Cadastro de um proprietario ou condutorelseif(cmd.compareTo("CP")==0)return6;// Pesquisa os Piores Condutoreselseif(cmd.compareTo("PC")==0)return7;elsereturn-1;}publicstaticvoidmain(String[]args){Scannerconsole=newScanner(System.in);GestorAcidentesaux=Load();out.println("BEM-Vindo ao Sistema de Gestao de Acidentes"+"\n"+"Digite a Sua Operação"+"\n");// TODO Auto-generated method stubStringlinha=console.nextLine().trim();Stringcmd=linha.substring(0,2);if(Comandos(cmd)==2){out.println("comando:"+Comandos(cmd));}elseout.println("COmandos Invalidos");}}
Andre_Brito
thiago.filadelfo:
É tem razão para o char naum tem, somente praa String
dai ele tem o equals… acho ateh melhor que o compareTo.!!
ae vc esta escrevendo o equals na mão… resumindo!!
Normalmente só usamos compareTo em comparações do tipo "<" ou ">"; para comparar para igualdade, o Javazeiro típico usa "equals", ou se ele for mais esperto, "equalsIgnoreCase" (que no seu caso de C seria equivalente ao "stricmp" ou "strcmpi").
Alkamavo
thingol:
if ((cmd.compareTo("IV") == 0))
return 1;
Quando vejo um código desses já sei que foi um carinha que pensa em C puro (nem em C++) que fez o código. Em C++ eu faria assim:
Normalmente só usamos compareTo em comparações do tipo "<" ou ">"; para comparar para igualdade, o Javazeiro típico usa "equals", ou se ele for mais esperto, "equalsIgnoreCase" (que no seu caso de C seria equivalente ao "stricmp" ou "strcmpi").
hehehehe
Eu ainda uso o C como aprendi com a velha guarda de linguagem.Afinal alguém deve manter a tradição em Pé…e nao deixar morrer os velhos hábitos…
:oops: :oops:
Andre_Brito
Amém!
Mas evolua também… eu já larguei o C pro C++.
Alkamavo
ja passei em Cobal
depois C
depois C++
depois ML (Ocaml)
Agora tou em Java…isso nao é evoluçao?
apenas no codigo acima estou a perservar os bons Costumes…do C puro…
amém!!!
T
thingol
Na verdade, em C++ eu faria algo parecido com o seguinte (não estou criando uma classe aqui, mas ponha uma definição de classe como quiser):
Ainda não consigo entender essas diretivas define que vocês veteranos usam tanto… peguei o código de uns caras no topcoder… pelamor… tinha umas 10 linhas de código normal mesmo, o resto era só diretiva. Não entendi NADA. Nem a main dele, porque ele usava todas as diretivas… não entendo direito.
Alkamavo,
CML hein? Fácil fazer produto de matrizes, não é? A x B?
Será que o Matlab é a evolução das CML’s?
Aliás, evolui legal… eu só pensei que o C e o C++ viesse depois da ML (o C nem tanto).
Só não me venha com ponteiros… PELAMORDEDEUS! É muito confuso pra novato, como eu, aprender essas de passar por parâmetro &, *, &(&)… acessar com -> uma struct… Ainda chego lá
O segredo do meu #define é o operador “#”. Ele serve para transformar o argumento da macro em uma constante string. Por exemplo, CMD(IC) é expandido para:
mapNome2Comandos["IC"]=Comandos::IC
Macros são poderosas mas você tem de saber exatamente o que está fazendo.
(Aliás, você está achando que o comando mapNome2Comandos [“IC”] é parecido com Javascript, não? É que o template map redefiniu o operador [] para poder fazer o equivalente do “put” da interface java.util.Map do Java. Então eu posso usar o map como se fosse um daqueles arrays associativos do Javascript.)
V
varnus
Então parece que vc quer fazer comparações com uma variável do tipo char?
se fizesse apenas com uma string daria certo?