[HILFE!]Dezimalzahl Umwandler in frei wählbares Zahlensystem

Status
Nicht offen für weitere Antworten.
G

Guest

Gast
Hi Leute ich brauche eure Hilfe, habe folgendes Problem:

a. Schreibe ein Programm, das eine Zahl im Dezimalsystem (Zahlenbereich: LongInt) umwandelt in ein frei wählbares Zahlensystem von 2 bis 16. (6. Klasse Seite 37).
b. Schreibe ein Programm, das Zahlen in den Zahlensystemen 2 bis 16 ins Dezimalsystem umwandelt.

BITTE BITTE helft mir unbedingt weiter und wenn mögl. erklärt das Ganze bestmöglich, ihr würdet mir damit das Leben retten!

thx,
Bär
 

Keld

Mitglied
Eine erklärung der Zahlensysteme würde in meinen augen den rahmen sprengen...

Am besten googeln nach: +Zahlensysteme +Java

ich hab mal für dich im voraus gegoogelt: http://www.fernsehdienst.de/thinkquest/binaer.html

und hier noch ein code beispiel, dass ausschliesslich duale in andere systeme umrechnet und somit schonmal teilaufgabe b für dich ansatzweise löst. Über den rest musst du dir selber nen kopf machen. wie gesagt ist etwas
aufwendig.

ich hab versucht den code mal von Herrn/Frau Zeihe zu kommentieren.

Code:
import java.io.*;
/*
  Umrechnung von dualen in oktale, dezimale o. hexadezimale Zahlen.
  Author: Jana Zeihe
*/
public class Zahlensysteme
 {
  public static void main (String[]args)

  throws IOException
   {
    int i=0;
    int zahl;
    int basis; // Stellt das auszuwählende Zahlensystem dar (Basis 10 wäre Dezimalsystem)
    int r[] = new int [10];
    int ausgabe=0;
    int exp=1;
    int j=2;

// Init des Eingabemodus
    BufferedReader din = new BufferedReader(
                         new InputStreamReader(System.in));

    System.out.println("Geben Sie eine Zahl zur Basis 2 ein.");
    zahl = Integer.parseInt(din.readLine());
    System.out.println("Geben Sie eine Basis ein.");
    basis = Integer.parseInt(din.readLine());

//Dual->Dezimal
    while (zahl>0)
     {
      i++;
      r[i]=zahl%10;
      zahl=zahl/10;
     }
    while (j<=i)
     {
      exp=exp*2;
      ausgabe=ausgabe+(r[j]*exp);
      j++;
     }

    ausgabe=ausgabe+r[1];

    if (basis==10)
     System.out.print("Die Zahl lautet: " + ausgabe);

//Anscheinend ist hier die Basis Egal also Dual in x-beliebiges Zahlensystem
    else
     {
    zahl=ausgabe;
    i=0;

    while (zahl>0)
     {
      i++;
      r[i]=zahl%basis;
      zahl=zahl/basis;
     }

    System.out.print("Die Zahl lautet: ");

//Berechnung Dual->Hexadezimal
    for (int k=i; k>0; k--)
      {
     if ((basis==16) && (9<r[k]) && (r[k]<16))
       {
        switch (r[k])
         {
          case 10: System.out.print("A"); break;
          case 11: System.out.print("B"); break;
          case 12: System.out.print("C"); break;
          case 13: System.out.print("D"); break;
          case 14: System.out.print("E"); break;
          case 15: System.out.print("F"); break;
         }
       }
      else
       System.out.print(r[k]);
      }
     }
   }
}


Ich habe den code nicht getestet. Ich hoffe dir zumindest einen ansatzpunkt geben zu können. Die Zeit habe ich nicht deine aufgabe zu lösen :)
 
G

Guest

Gast
Danke dir auf jeden Fall, der Ansatz an sich ist ja nicht das Problem, sondern das Coding an sich :/

Schade, dass du nicht genug Zeit hast, ist aber verständlich! gegoogelt habe ich ja, aber spezifisch zu diesem Problem gefunden habe ich leider nichts!

Na vl. erbarmt sich ja doch noch jemand meinereiner :)
 

Stefan1200

Top Contributor
Um gottes willen, nicht so viel Code für was, was in Java mit einer kleinen Zeile gelöst werden kann.
Jungs, viel einfacher. Die Methodennamen sagen, in welcher Richtung umgewandelt wird.
Schaut sonst auch noch mal in der API Dokumentation nach parseLong und Radix. Radix sagt das Zahlensystem an, zum Beispiel 2 (Binär), 8 (Oktal), 10 (Dezimal) und 16 (Hex).
Schaut hier:

Code:
	private String convertDec2Hex()
	{
			String tmp = Long.toHexString(Long.parseLong(tfDec.getText())).toUpperCase();
      return tmp;
	}

	private String convertDec2Oct()
	{
   		return Long.toOctalString(Long.parseLong(tfDec.getText()));
	}

	private String convertDec2Bin()
	{
   		return Long.toBinaryString(Long.parseLong(tfDec.getText()));
	}

	private String convertHex2Dec()
	{
			String tmp = Long.toString(Long.parseLong(tfHex.getText(),16));
      return tmp;
	}

	private String convertBin2Dec()
	{
			String tmp = Long.toString(Long.parseLong(tfBin.getText(),2));
      return tmp;
	}

	private String convertOct2Dec()
	{
			String tmp = Long.toString(Long.parseLong(tfOct.getText(),8));
      return tmp;
	}
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
4 Hilfe bei einem BB Code formatierer Tools - Maven, Gradle, Ant & mehr 4
A Buckminster hilfe Tools - Maven, Gradle, Ant & mehr 18
Chris81T Maven Hilfe bei EAR packaging mit maven-ear-plugin Tools - Maven, Gradle, Ant & mehr 1
D Maven, Cargo, Selenium - brauche Hilfe bei Konfiguration Tools - Maven, Gradle, Ant & mehr 4
N im JAR läufts nicht :( hilfe Tools - Maven, Gradle, Ant & mehr 2
J Online Shop mit Hilfe eines Applets Tools - Maven, Gradle, Ant & mehr 17
W Dringende Hilfe bei applet notinied benötigt Tools - Maven, Gradle, Ant & mehr 7
S Vorschläge/Hilfe: Tunierbaum bis der Arzt kommt. Tools - Maven, Gradle, Ant & mehr 2
M Sternenhimmel Applet Hilfe! Tools - Maven, Gradle, Ant & mehr 8
A Hilfe! Java Applet Lake von Anfy - wie in HP einbinden? Tools - Maven, Gradle, Ant & mehr 25
M JavaApplet Projekt und clien-side read/write.Bitte um Hilfe. Tools - Maven, Gradle, Ant & mehr 6
B Java neuling, brauche hilfe Tools - Maven, Gradle, Ant & mehr 4
G Hilfe bei Bildgröße in Java [dekompilierter Bytecode] Tools - Maven, Gradle, Ant & mehr 5
G timer erstellen dringend hilfe Tools - Maven, Gradle, Ant & mehr 9
P Hilfe - Seltsame Fehlermeldung nach Signatur eines Applets! Tools - Maven, Gradle, Ant & mehr 12
H Hilfe bei Applet-Programmierung Tools - Maven, Gradle, Ant & mehr 5
F Hilfe, wie programmiert man einen Packer mit Java? Tools - Maven, Gradle, Ant & mehr 2
G Hilfe bitte bitte Tools - Maven, Gradle, Ant & mehr 2
G Hilfe! Java Applet Tools - Maven, Gradle, Ant & mehr 6
S in Applet "umwandeln" - HILFE! Tools - Maven, Gradle, Ant & mehr 14
L Mittelwertberechnung Hilfe Tools - Maven, Gradle, Ant & mehr 2

Ähnliche Java Themen

Neue Themen


Oben