Java :: Aufgabe #182

4 Lösungen Lösungen öffentlich

Zahlen umwandeln: Binär zu Dezimal

Anfänger - Java von Nachbar - 13.09.2017 um 14:19 Uhr
Schreibe eine Funktion, die Zahlen aus dem Dualsystem in Zahlen des Dezimalsystems umwandelt.

Beispiel:

Binär: 11010
Dezimal: 26

Lösungen:

1x
vote_ok
von Bufkin (1410 Punkte) - 15.09.2017 um 10:56 Uhr
Quellcode ausblenden Java-Code
import java.util.Scanner;

class dualtodec
{
    static int ausgabe = 0;
    
    public static int umwandeln(String eingabe)
    {
        ausgabe = Integer.parseInt(eingabe, 2);
        return ausgabe;
    }
    
    public static void main (String[] args) throws java.lang.Exception
    {
        Scanner reader = new Scanner(System.in);
        String eingabe = reader.next(); 
        reader.close();
        System.out.println("Binär: " + eingabe + "\nDezimal: " + umwandeln(eingabe));
    }
}
vote_ok
von rockerle (120 Punkte) - 15.09.2017 um 12:29 Uhr
Quellcode ausblenden Java-Code
import java.util.Scanner;

public class Main {

	static Scanner sc = new Scanner(System.in);
	static String input;
	static int output;
	public static void main(String[] args) {

		while(sc.hasNext()){
			input = sc.next();
			output = 0;
			for(int i=0;i<input.length();i++){
				if(input.charAt(i) == '1')
					output += Math.pow(2,input.length()-1-i);
			}
			System.out.println(output);
		}
	}

}
vote_ok
von thet1983 (800 Punkte) - 18.09.2017 um 09:50 Uhr
Quellcode ausblenden Java-Code
package eu.etzelsdorfer;
/**
 * Java Class BinaryToDecimal
 *
 * @author: Thomas Etzelsdorfer
 * @version: 1.0.0
 */
public class BinaryToDecimal {
    // Property : binary
    private long binary;
    public void setBinary(long binary){this.binary = binary;}
    public long getBinary(){return this.binary;}

    /**
     * Constructor
     * @param binary
     */
    public BinaryToDecimal(long binary){
        setBinary(binary);
    }

    /**
     * convert binary to decimal
     * @return decimal
     */
    public long convert(){
        long decimal = 0;
        long n = 0;
        while(getBinary() != 0){
            decimal += ((getBinary()%10)*Math.pow(2,n));
            setBinary(getBinary()/10);
            n++;
        }
        return decimal;
    }
}


Aufruf
Quellcode ausblenden Java-Code
// .. class
public static void main(String...args){
        long bin = 11010;

        System.out.printf("Binary: %d >> Decimal: %d \n",bin,new BinaryToDecimal(bin).convert());
    }
vote_ok
von nOrdan (1160 Punkte) - 18.06.2019 um 19:59 Uhr
Main-Klasse:

Quellcode ausblenden Java-Code

import Methodensammlung.Methoden;

/**
 * Aufgabe:
 * 
 * Schreibe eine Funktion, die Zahlen aus dem Dualsystem in Zahlen des Dezimalsystems umwandelt.
 * 
 * @author (nOrdan) 
 * @version (19.06.19)
 */

public class Umrechner
{

    Methoden m = new Methoden();

    public static void main(String [] args)
    {
        Umrechner u = new Umrechner();
        u.inputs();
    }

    private void inputs()
    {
        boolean valid1 = false;
        int zahl = 0;        
        while (valid1 == false)
        {
            String input1 = m.userInput("Geben sie ihre Zahl in Binärschreibweise ein");
            m.errorStringInput(input1);
            int counter = 0;
            for (int i = 0; i < input1.length(); i++)
            {
                if (input1.charAt(i) == '0' || input1.charAt(i) == '1')
                {
                    counter++;
                }
            }
            if (counter == input1.length())
            {
                valid1 = true;
                umrechnung(input1);
            }   
            else
            {
                m.errorMessage("Invalid user input","Invalid input");
                continue;
            }
        }   
    }

    private void umrechnung(String zahl)
    {
        char [] charArray = zahl.toCharArray();
        int ausgabe = 0;
        for (int i = 0; i < charArray.length; i++)
        {
            ausgabe += Math.pow(2,i) * (charArray[i] - 48);
        }
        m.informationMessage("Die Zahl " + zahl + " aus dem Dualsystem ist in Dezimalschreibweise " + ausgabe,"Eingabe");
    }
}



Methoden die ich aus meinem Methodensammlung package benutzt habe:

Quellcode ausblenden Java-Code

public String userInput(String message)
    {
        return JOptionPane.showInputDialog(message);
    }

public void errorStringInput(String input)
    {
        if (input == null) 
        {
            System.exit(0); //Drückt der User auf abbrechen wird null zurück gegeben und das Programm wird beendet
        }
        else if (input.isEmpty() == true)
        {
            informationMessage("Da sie nichts eingegeben haben wird auch nichts ausgegeben","No input");
            System.exit(0);
        }
    }

  public void errorMessage(String message,String errorName)
    {
        JOptionPane.showMessageDialog(null,message,errorName,JOptionPane.ERROR_MESSAGE); 
    }

public void informationMessage(String message,String informationName)
    {
        JOptionPane.showMessageDialog(null,message,informationName,JOptionPane.INFORMATION_MESSAGE);
    }

2092633

Du scheinst einen AdBlocker zu nutzen. Ich würde mich freuen, wenn du ihn auf dieser Seite deaktivierst und dich davon überzeugst, dass die Werbung hier nicht störend ist.