Estou com duvida em uma questao onde tenho que fazer uma funçao que leia 2 strings como parametro e retorne a menor delas, mas quando faço a comparação para ver qual a menor e retornar, ela nao esta me retornando em string e sim e bollean.
segue o codigo:
public static String exercicio10 (String a1, String a2 ) {
Não entendi sua dúvida. Esse código aí vai te retornar a String.
Mas, na pra fazer essa comparação de tamanho, o compareTo não é o que vc deve usar.
Ele faz uma comparação a nível de caracteres da String e não de tamanho.
Usando o método length(), vc consegue pegar o tamanho de cada String e aí sim, compará-los.
Usando o .lenght eu iria comparar o tamnho numerico de caracteres da srtring, mas no caso eu preciso comparar o tamanho alfabeticamente, por isso o compareTo.
o problema desse codigo é que ele nao esta me retornando a String e sim um valor True ou False.
claytonsilva
Ah sim… entendi.
Mas esse código te retorna uma String. Como vc ta usando? Como tá chamando esse método?
claytonsilva
Na verdade não entendi …rs
O que vc quer dizer com “comparar tamanho alfabeticamente”?
Quer ordenar alfabeticamente?
F
Frederico_Oliveira
sim ordenar alfabeticamente.
eu estou chamando ela pelo main
entrendo com as duas Strings…
mas ela esta retornando sempre um valor bollean invez de retornar a String
claytonsilva
Bacana… mas não to entendendo como esse código ta te retornando um boolean …rs
Posta o seu main completo aí, pode ser?
switch(opcao){case0:break;case1:exercicio1();break;case2:Stringx=IO.readString("Entrecomumacadeiadecaracteres:"); IO.println ("Aquantidadedecaracteresminusculossão:"+exercicio2 (x)); break; case 3: String y = IO.readString ("Entrecomumacadeiadecaracteres:"); IO.println ("Acadeiadecaracteresinvertidaé:"+exercicio3 (y)); break; case 4: String z = IO.readString ("Entrecomumacadeiadecaracteres:"); IO.println ("Oscaracteresminusculossao:"+exercicio4 (z)); break; case 5: String w = IO.readString ("Entrecomumacadeiadecaracteres:"); IO.println ("Acadeiadecaracteresinvertidaé:"+exercicio5 (w)); break; case 6: exercicio6 ( ); break; case 7: String a = IO.readString ("Entrecomumacadeiadecaracteres:"); char b = IO.readchar ("Entrecomumcaracterequedesejasaberaquantidadedevezesqueaparecenacadeiaacima:"); IO.println ("Onúmerodevezesqueocaractererepeteé:"+exercicio7 (a,b)); break; case 8: String c = IO.readString ("Entrecomumacadeiadecaracteres:"); String d = IO.readString ("Entrecomoutracadeiadecaracteres:"); IO.println ("Anovacadeiaintercaladaé:"+exercicio8 (c,d)); break; case 9: String e = IO.readString ("Entrecomumacadeiadecaracteres:"); String f = IO.readString ("Entrecomoutracadeiadecaracteres:"); IO.println ("Seascadeiasforem=arespostaéTrue,seforem!=arespostaéFalse:"+exercicio9 (e,f)); break; case 10: String g = IO.readString ("Entrecomumacadeiadecaracteres:"); String h = IO.readString ("Entrecomoutracadeiadecaracteres:"); IO.println ("alfabeticamenteamenorcadeiaé:"+exercicio9 (g,h)); break; default: break; } IO.println ( ); IO.println ("-------------------------------------------------------------"); opcao = IO.readint ("Aperte1paracontinuar.\nAperte0paraencerraracorreção.\n");IO.println();}while(opcao!=0);{IO.println();}
}
pmlm
O teu método é exercicio9 ou exercicio10?
F
Frederico_Oliveira
ahhhhhh putz mano eh menos kkk
claytonsilva
Isso mesmo kkk
Leandro_Teodoro
Cara, me pegou. Simulei seu método aqui e para mim ele retornou uma string, contendo os parâmetros dela. Não entendi também como pode retornar um boolean. O seu método faz a comparação Lexicográfica certinha. Revisa o resto do código.