Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    Inserimento cifre, di un numero già esistente, in un array

    Salve a tutti!
    Sto creando un programmino in Java, per convertire i numeri binari in decimale, a scopo didattico. Mi pare che esista una classe che fa questo, ma io non la voglio uttilizzare, visto che sto ancora imparando questo linguaggio. Allora ecco presentato il codice d'inizio:

    import java.io.*;
    import java.util.Scanner;

    public class Main {
    public static void main (String Args []) {
    Scanner in = new Scanner(System.in);
    System.out.print("Inserire numero in base binaria, da convertire in base decimale> "); String input=in.next();
    /*Algoritmo di conversione
    * Input
    * Dividere Input in 16 bit
    *Creare array con indice la lunghezza del numero inserito
    *......Inserire nell'array la prima cifra da destra, nel posto [0]
    *moltiplicare il numero per 2 alla (Qui variable indice,)* il numero che è stato inserito (1 o 0)
    *Spostarsi alla seconda e così via... */

    int cifre = input.length();
    int[] lunghezzatot= new int[cifre];
    } } }
    Come potrei spostare l'ipotetico puntatore a destra del numero appena digitato per così prendere la cifra?? e la seconda??

    Spero di essere stato chiaro!

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: Inserimento cifre, di un numero già esistente, in un array

    Originariamente inviato da BubbleJavatore
    Come potrei spostare l'ipotetico puntatore a destra del numero appena digitato per così prendere la cifra?? e la seconda??
    Hai una stringa che contiene caratteri '0' e '1'. Fai un for per scansionare tutti i caratteri da sinistra a destra e ognuno lo prendi con charAt(idx). Ogni carattere lo devi controllare, deve essere '0' oppure '1', altrimenti significa un errore nell'input.
    Tieni una variabile di tipo int inizialmente a 0 per il risultato. Ad ogni carattere che trovi, prima fai uno shift a sinistra di 1 bit del risultato (o moltiplichi per 2, è lo stesso), poi se il carattere era '1' aggiungi un 1.
    Tutto qui.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.