Ajuda meio besta

10 respostas
N

na apostila q lendo aqui sobre java da caelum, no fim do capitulo 14

pede-se para transformar uma String em um int sem usar as bibliotecas, alguem tem uma ideia ai pra me ajudar

10 Respostas

J

Vamos la, temos uma String e um int envolvidos… Deve ser alguma coisa na classe String ou na classe Integer (uma vez que a classe Integer é a classe warp, representante do int em objetos assim por dizer).

Leia o javadoc das duas classes, segundo a minha lógica de raciocinio, deve estar lá.

Se você ainda não têm o javadoc no seu bookmark ou computador, google it.

obs: Sim, eu sei a resposta pessoal. Mas por favor, vamos ajudar as pessoas a pensarem.

sapulha

Essa pergunta está meio obscura, teria como vc postar a questão como está na apostila?
O que vc quer dizer com “bilbioteca”, não pode usar a classe Integer?

peczenyj

pense no seguinte:

  1. uma string pode ser convertida em um array de char;
  2. char pode ser convertido em int via cast simples;
    int i = (int) ‘5’; /* o resultado não vai ser 5, porém basta subtrair esse valor por uma constante (64, acho) */
  3. se vc tem a string “123” vc pode converter pro array a = {1, 2, 3}

isso equivale: 123 = 100 + 20 + 3 (ou 1 * 10^2 + 2 * 10^1 + 3 * 10^0)

agora basta vc elaborar um algoritmo baseado nessas ideias, vai envolver um loop em todo o array de caracteres. vc vai ter q fazer alguma aritmetica com o comprimento e posição de cada char :wink:

lembre q vc pode ter uma string “-123” também!

J

peczenyj:
pense no seguinte:

  1. uma string pode ser convertida em um array de char;
  2. char pode ser convertido em int via cast simples;
    int i = (int) ‘5’; /* o resultado não vai ser 5, porém basta subtrair esse valor por uma constante (64, acho) */
  3. se vc tem a string “123” vc pode converter pro array a = {1, 2, 3}

isso equivale: 123 = 100 + 20 + 3 (ou 1 * 10^2 + 2 * 10^1 + 3 * 10^0)

agora basta vc elaborar um algoritmo baseado nessas ideias, vai envolver um loop em todo o array de caracteres. vc vai ter q fazer alguma aritmetica com o comprimento e posição de cada char :wink:

lembre q vc pode ter uma string “-123” também!

:shock: acho que o exercício é só pegar uma String “1234” e converter para 1234, não?

T

Dá a impressão que o exercício é para você implementar a conversão de uma string decimal para int. Por exemplo:

public static int converte (String strValor) {
...
}

Um exemplo de uso desse método:

converte (“12345”) deve lhe retornar o int 12345.

A única coisa que você poderia usar é o método String.charAt (afinal de contas você tem de pegar os caracteres um de cada vez :stuck_out_tongue: )

N

pqp, nao vai
to usando um valor de String “12341” e qdo passo pra um int só imprimi 49, e peczenyj, esse metodo q vc explicou ai funcionaria se ja soubesse o tamanha da string certo?

J

Novamente leia o Javadoc… tem um jeito de saber tanto o tamanho da string quanto o tamanho do array.

LPJava

nania:
na apostila q lendo aqui sobre java da caelum, no fim do capitulo 14

pede-se para transformar uma String em um int sem usar as bibliotecas, alguem tem uma ideia ai pra me ajudar

vc usa a classs wrapper

veja a sintaxe de String para um tipo primitivo

int  it = Double.parseDouble("3.22");

converti uma String em int.
lembre que string sempre está entre " ".
a impressao sai 3 - truncado.
senao seria double.

diego2005

Se você puder, coloque seu código que fica mais fácil de ajudar…t+

cv1

nania, antes de mais nada, escreva uma classezinha que usa Integer.parseInt e imprime os resultados quando chamada com diversas strings.

Agora, eh soh reimplementar Integer.parseInt com a sua solucao :wink:

Criado 17 de novembro de 2006
Ultima resposta 18 de nov. de 2006
Respostas 10
Participantes 8