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.
C
claytonsilva
Ah sim… entendi.
Mas esse código te retorna uma String. Como vc ta usando? Como tá chamando esse método?
C
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
C
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();}
}
P
pmlm
O teu método é exercicio9 ou exercicio10?
F
Frederico_Oliveira
ahhhhhh putz mano eh menos kkk
C
claytonsilva
Isso mesmo kkk
L
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.