Autore Topic: Problema conversione int  (Letto 1030 volte)

Offline Alien94

  • Nuovo arrivato
  • *
  • Post: 31
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Galaxy SII
Problema conversione int
« il: 23 Gennaio 2011, 00:15:27 CET »
0
Salve...
Sto facendo un'applicazione per convertire un numero da decimale a binario.
Praticamente devo dividerlo per 2 tante volte finche ottengo 0 e, salvandomi tutti i resti in un vettore, alla fine ho il codice binario leggendolo al contrario...

Ho fatto questo:
Codice (Java): [Seleziona]
public class BinDec extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.bindec);
        int x[] = new int[16];  
        EditText numEdit = (EditText) findViewById(R.id.Decimale);
        TextView Risultato = (TextView) findViewById(R.id.Risultato);
        int numero = Integer.parseInt(numEdit.getText().toString());
        String binario="";
        int cont=0;
        int fin=0;
        int res=0;      
        do {
                fin = numero;
                res = numero % 2;
                x[cont] = res;
                fin = fin/2;
                cont++;
        }
        while(fin>2);        
        for(int y=cont; y>=0; y--) {
                binario = binario+x[y];
        }        
        Risultato.setText(binario);
    }
}

Ora non guardate i calcoli che poi mi arrangio a sistemarli...
L'applicazione se compilata non da errori.
Se la eseguo sull'emulatore mi da un force close.
Ho provato a togliere questa parte assegnando gia un valore a "numero":
Codice: [Seleziona]
int numero = Integer.parseInt(numEdit.getText().toString());
e funziona.
Il punto è che l'utente, deve inserire il numero decimale nella edittext "Decimale"...

DOve sbaglio?
Grazie

Offline bradipao

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 4043
  • keep it simple
  • Respect: +567
    • Github
    • Google+
    • bradipao
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Bradipao
  • Sistema operativo:
    W7
Re:Problema conversione int
« Risposta #1 il: 23 Gennaio 2011, 08:16:49 CET »
+2
Ho una mezza idea sull'errore, ma prima di andare a tentoni, un po' di consigli sparsi:
1) Posta il LogCat dell'errore, senza sapere la natura dell'errore è sempre più difficile scoprire la causa.
2) In linea di principio tutte le operazioni di conversione numerica dovrebbe essere incluse in blocchi try-catch perchè possono generare eccezioni matematiche. Per esempio se il numero è fuori dal range.
3) Per escludere un po' di parti di codice, prova ad assegnare un numero fisso invece di prenderlo e convertirlo da una EditText, se non altro ti assicuri che parte dell'applicazione vada bene.
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline 7h38ugg3r

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 1200
  • Respect: +133
    • riccardofischetti
    • th38ugg3r
    • @7h38ugg3r
    • Mostra profilo
  • Dispositivo Android:
    Galaxy-S GT I-9000/ ASUS Eee Pad Transformer
  • Play Store ID:
    Riccardo Fischetti
  • Sistema operativo:
    OS X Lion / Linux Mint 11 (Katya)
Re:Problema conversione int
« Risposta #2 il: 24 Gennaio 2011, 09:51:43 CET »
0
Ottimo suggerimento.
Aiuterà a crescere.
Allen, aspettiamo che tu metta in atto i suggerimenti di bradipao.
7h38ugg3r<=>thebugger
Non conosci Java? Allora sei nel posto sbagliato!

http://www.androidpatterns.com/

Offline Alien94

  • Nuovo arrivato
  • *
  • Post: 31
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Galaxy SII
Re:Problema conversione int
« Risposta #3 il: 24 Gennaio 2011, 10:26:44 CET »
0
Scusate ieri ero impegnato. Nel primo pomeriggio provo i consigli e vi dico..
Intanto grazie

Offline Qlimax

  • Moderatore globale
  • Utente senior
  • *****
  • Post: 757
  • Respect: +202
    • Google+
    • _Qlimax
    • Mostra profilo
    • www.egsolutions.ch
  • Dispositivo Android:
    Galaxy Nexus - Nexus One - Wildfire - Magic
  • Play Store ID:
    egsolutions.ch
  • Sistema operativo:
    Ubuntu 12.04, Windows 7
Re:Problema conversione int
« Risposta #4 il: 24 Gennaio 2011, 10:34:53 CET »
0

Offline Alien94

  • Nuovo arrivato
  • *
  • Post: 31
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Galaxy SII
Re:Problema conversione int
« Risposta #5 il: 24 Gennaio 2011, 14:14:00 CET »
0
Ciao alien94,

dai anche un occhiata qui:
developer.android.com/reference/java/lang/Integer.html#toBinaryString(int)

;)

Haha se funziona questa funzione sono apposto :)
Ma comunque devo risolvere l'altro che magari in futuro mi serve :)

Offline Alien94

  • Nuovo arrivato
  • *
  • Post: 31
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Galaxy SII
Re:Problema conversione int
« Risposta #6 il: 24 Gennaio 2011, 14:38:17 CET »
0
In ogni modo. Ora sono cosi:

Codice: [Seleziona]
package com.bytes;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;

public class BinDec extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.bindec);
       
        final TextView Risultato = (TextView) findViewById(R.id.Risultato);
        final EditText Decimale = (EditText) findViewById(R.id.Risultato);
        final Button Conferma = (Button) findViewById(R.id.Conferma);
       
        Conferma.setOnClickListener(new OnClickListener() {
                public void onClick(View v) {
                        int numero = Integer.parseInt(Decimale.getText().toString());
                        String binario = Integer.toBinaryString(numero);
                Risultato.setText(binario);
                }
        });
           
    }
}

COme gia detto, assegnando un numero gia definito a "numero" funziona e al click sul bottone "Conferma" appare il binario....
Usando questo codice seguente per prendere il numero dalla edittext restituisce un force close....
Codice: [Seleziona]
Integer.parseInt(Decimale.getText().toString());


Dove sbaglioo?

Offline Ricky`

  • Amministratore
  • Utente storico
  • *****
  • Post: 3487
  • Respect: +506
    • Github
    • Google+
    • rciovati
    • Mostra profilo
Re:Problema conversione int
« Risposta #7 il: 24 Gennaio 2011, 14:43:58 CET »
0
1) Posta il LogCat dell'errore, senza sapere la natura dell'errore è sempre più difficile scoprire la causa.

Offline -Bruno90-

  • Nuovo arrivato
  • *
  • Post: 41
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    HTC wildfire
  • Sistema operativo:
    Windows XP
Re:Problema conversione int
« Risposta #8 il: 24 Gennaio 2011, 14:48:38 CET »
0
Prova a mettere due id diversi nella textview e nell'edittext.
nn sono sicuro ma probabilmente crasha per quello e non per la conversione.

Offline Alien94

  • Nuovo arrivato
  • *
  • Post: 31
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Galaxy SII
Re:Problema conversione int
« Risposta #9 il: 24 Gennaio 2011, 14:50:57 CET »
0
Prova a mettere due id diversi nella textview e nell'edittext.
nn sono sicuro ma probabilmente crasha per quello e non per la conversione.

Mio dio che svista.
Ora funziona :)
Comunque per un'altra volta, come si fa il LogCat?

Offline blackgin

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 1387
  • Respect: +164
    • Google+
    • blackgins
    • blackginsoft
    • Mostra profilo
  • Dispositivo Android:
    Galaxy Nexus
  • Sistema operativo:
    Mac OSX 10.8
Re:Problema conversione int
« Risposta #10 il: 24 Gennaio 2011, 14:56:59 CET »
0
O vai tramite terminale nella cartella tools o platform-tools dell'sdk (a seconda della versione sdk) e digiti adb logcat, oppure su eclipse lo trovi in Window / Open Perspective / DDMS
Postate il LogCat LogCat LogCat LogCat LogCat

Offline JD

  • Amministratore
  • Utente storico
  • *****
  • Post: 1600
  • Respect: +232
    • leinardi
    • Mostra profilo
  • Dispositivo Android:
    LG Nexus 5
  • Sistema operativo:
    L'ultima Ubuntu
Re:Problema conversione int
« Risposta #11 il: 24 Gennaio 2011, 17:48:38 CET »
0
Comunque per un'altra volta, come si fa il LogCat?

Ma scusa, giusto per capire se ci sono problemi col sito, quando posti ti esce o no questo messaggio che, tra le tante cose e scritto in caratteri cubitali, contiene un link su come utilizzare il logcat?



Possibile che NESSUNO lo legga mai? Forse è scritto troppo piccolo?
È stata trovata una soluzione al tuo problema?
Evidenzia il post più utile premendo . È un ottimo modo per ringraziare chi ti ha aiutato ;).
E se hai aperto tu il thread marcalo come risolto cliccando !