Ausgabe gesucht

Status
Nicht offen für weitere Antworten.
hallo zusammen

ich bin gerade dabei java zu lernen und hab mit einem programm ein problem

ich habe mir ein kleines programm geschrieben was mir zahlen der bsis 10 in zahlen anderer basis umrechnet oder umgekehrt.

jetzt habe ich ein problem bei der ausgabe wenn ich eine zahl der basis 10 in eine andere zahl zb der basis 2 umrechne.

bei meinem programm kommt dann die umgerechnete zahl immer falsch rum raus kleines beispiel bei der zahl 12 der basis 10 kommt die zahl 0011 der basis 2 rais und nicht 1100.
woran das liegt weis ich schon es ist meine ausgabe.

jetzt meine frage gibt es eine ausgabemöglichkeit die mir die zahl in der richtigen reihenfolge ausgibt also 1100 und nicht
0011. also ich bräuchte eine ausgabe die nicht von links nach rechts ausgibt sondern von rechts nach links also immer vor die letzt zahl schreibt und nicht dahinter.

wenn es so eine methode gibt wäre ich dankbar wenn sie mir einer verraten würde

der code meines programms sieht so aus die fehlerstell ist mit dem kommentar versehen
// MEIN PROGLEM IST BEI DER AUSGABE

Code:
/*		Author:		Robert Schrader
*
*	Dieses Programm rechnet eine Zahlen aus einem fremden Zahlensystem mit der
*	Basis b in das Zehnersystem um oder umgekehrt.
*
*/
class NumberBase {

	public static void main(String args[]){

		int zahl = Integer.parseInt(args[0]);		//Zahl die umgerechnet ewrden soll
		int basis = Integer.parseInt(args[1]);		//Basis der Zahl
		int ziehlbasis = Integer.parseInt(args[2]);	//Basis der neuen Zahl
		if(basis == 10){

			int rest = 1;				//Rest der Zwischenrechnung
			int modrest = 0;			//Rest der Modulooperation

			while (rest != 0){

				rest = zahl / ziehlbasis;	//zahl / ziehlbasis ist die neu Zahl
				modrest = zahl % ziehlbasis;   //modrest ist Zahl in der neuen Basis
				zahl = rest;
				System.out.print(modrest);      //MEIN PROBLEM IST BEI DER AUSGABE
			}
			System.out.println();
		}
		else{

			int rest_b = 1; 		 //Rest der Zwischenrechnung
			int modrest_b = 0;   //Rest der Modulooperation
			double teilergebnis; //Variable um Ergebnise zwischenzuschpeichern
			int ergebnis = 0;
			int exponent = 0;		 //Exponent

      System.out.print("Die Zahl " + zahl + " der Basis " + basis +",");

			while(zahl != 0){

      	teilergebnis = 0;
				rest_b = zahl % 10;
				teilergebnis = rest_b * Math.pow(basis, exponent);
				ergebnis += teilergebnis;
				exponent++;
				zahl /= 10;
			}
			System.out.print(" ist die Zahl " + ergebnis + " der Basis ");
			System.out.println(ziehlbasis);
		}
	}
}
 

Manfred

Bekanntes Mitglied
Fällt mir jetzt schnell ein:

Du musst halt einen String übergeben, einfach aufrufen:

z.B.: dreheUm(ergebniss+"");


Code:
public String dreheUm(String ergebnis)
{
    StringBuffer b = new StringBuffer();

    b.append(ergebnis+"");  //int auf String umwandeln

    return b.reverse().toString();
}
 
habe versucht deinen vorschlag in mein programm einzubauen ich kenn mich aber da nicht so aus weil ich noch blutiger anfänger bin

mein programm sieht jetzt so aus
Code:
class NumberBase1 {

    public static String dreheUm(String ergebnis)            //neu
		{                                                               //neu
    StringBuffer b = new StringBuffer();                         //neu

    b.append(ergebnis+"");  //int auf String umwandeln   //neu

    return b.reverse().toString();                                   //neu
		}                                                                //neu

	public static void main(String args[]){

		int zahl = Integer.parseInt(args[0]);		//Zahl die umgerechnet ewrden soll
		int basis = Integer.parseInt(args[1]);		//Basis der Zahl
		int ziehlbasis = Integer.parseInt(args[2]);	//Basis der neuen Zahl
		String ausgabe = "";                                   //neu
		if(basis == 10){

			int rest = 1;				//Rest der Zwischenrechnung
			int modrest = 0;			//Rest der Modulooperation

			while (rest != 0){

				rest = zahl / ziehlbasis;	//zahl / ziehlbasis ist die neu Zahl
				modrest = zahl % ziehlbasis;   //modrest ist Zahl in der neuen Basis
				zahl = rest;
				ausgabe = modrest +"";          //neu
			}
			dreheUm(ausgabe);                        //neu
			System.out.print(ausgabe);             //neu
			System.out.println();
		}
		else{

			int rest_b = 1; 		 //Rest der Zwischenrechnung
			int modrest_b = 0;   //Rest der Modulooperation
			double teilergebnis; //Variable um Ergebnise zwischenzuschpeichern
			int ergebnis = 0;
			int exponent = 0;		 //Exponent

      System.out.print("Die Zahl " + zahl + " der Basis " + basis +",");

			while(zahl != 0){

      	teilergebnis = 0;
				rest_b = zahl % 10;
				teilergebnis = rest_b * Math.pow(basis, exponent);
				ergebnis += teilergebnis;
				exponent++;
				zahl /= 10;
			}
			System.out.print(" ist die Zahl " + ergebnis + " der Basis ");
			System.out.println(ziehlbasis);
		}
	}
}

aber jetzt habe ich wieder ein problem jetzt gibt das programm mir immer nur eine zahl aus und nicht die ganze

ich hoffe ich habe diese methode richtig in mein programm eingebaut wenn nicht helft mir bitte ich weis das noch nicht so genau wie das hinhauen soll
 
hallo zusammen

erstmal vielen dank für eure hilfe

ich habe mein problem mitlerweile anders gelöst habe ein bischen über Strings nachgelesen und lasse mir jetzt mit einer for schleife den string rückwerts ausgeben.

aus reiner neugier wäre ich aber trotzdem an einer ausgabe methode interessiert am besten wäre es wenn es eine vorgefärtigte methode gibt wie zb. System.out.println();
wenn jemand so was kennt wäre ich sehr dankbar wenn er sie mir verraten würde.

schön wäre es auch wenn mir jemand Manfreds lösung erklären könnte wie das hinhaut mit der selbstgeschriebenen methode

mein code schaut jetzt so aus ich hoffe er ist einigermaßen im gute programmierstiel geschrieben

Code:
class NumberBase {

	public static void main(String args[]){

		int zahl = Integer.parseInt(args[0]);		//Zahl die umgerechnet ewrden soll
		int basis = Integer.parseInt(args[1]);		//Basis der Zahl
		int ziehlbasis = Integer.parseInt(args[2]);	//Basis der neuen Zahl
		String ausgabe = "";                        // String zum speichern der Zahl
		if(basis == 10){

		System.out.print("Die Zahl "+zahl+" der Basis "+basis+", ");
		System.out.print("ist die Zahl ");

			int rest = 1;				//Rest der Zwischenrechnung
			int modrest = 0;			//Rest der Modulooperation

			while (rest != 0){

				rest = zahl / ziehlbasis;	//zahl / ziehlbasis ist die neu Zahl
				modrest = zahl % ziehlbasis;   //modrest ist Zahl in der neuen Basis
				zahl = rest;
				ausgabe += modrest;            // hier wird die zahl in einen String 
				                               //   eingelesen
			}
			int laenge = ausgabe.length();

	// gibt den String ausgabe rückwerts aus und somit die zahl richtigrum
			for(int i = laenge-1; i >= 0; i--){
							char c = ausgabe.charAt(i);
							System.out.print(c);
			}
			System.out.println(" der Basis "+ziehlbasis+".");
		}
		else{

			int rest_b = 1; 		 //Rest der Zwischenrechnung
			int modrest_b = 0;   //Rest der Modulooperation
			double teilergebnis; //Variable um Ergebnise zwischenzuschpeichern
			int ergebnis = 0;
			int exponent = 0;		 //Exponent

      System.out.print("Die Zahl " + zahl + " der Basis " + basis +",");

			while(zahl != 0){

      	teilergebnis = 0;
				rest_b = zahl % 10;
				teilergebnis = rest_b * Math.pow(basis, exponent);
				ergebnis += teilergebnis;
				exponent++;
				zahl /= 10;
			}
			System.out.print(" ist die Zahl " + ergebnis + " der Basis ");
			System.out.println(ziehlbasis+".");
		}
	}
}

endlich ein erfolgserlebnis mein programm läuft
 

Manfred

Bekanntes Mitglied
Manfred hat gesagt.:
Fällt mir jetzt schnell ein:

Du musst halt einen String übergeben, einfach aufrufen:

z.B.: dreheUm(ergebniss+"");


Code:
public String dreheUm(String ergebnis)
{
    StringBuffer b = new StringBuffer();

    b.append(ergebnis+"");  //int auf String umwandeln

    return b.reverse().toString();
}

Also mit der Klasse StringBuffer kann man Strings erzeugen, jedoch Speicherschonender als mit "normalen" Strings. Details kann ich dir nicht sagen!

Jedenfalls bietet Stringbuffer eine reverse-Methode an, die einen Übergebenen String umdreht!

Meine Methode verlangt als Übergabewert einen String. Du hast in deinem Programm das Ergebnis als int glaube ich. Nun ein Int zu String umzuwandeln ist einfach: intwert+"". Du hängst einen String, in diesem Falle "" an. Somit wird aus einem int ein String.

Die Methode erzeugt einen StringBuffer und hängt (Methode append) den String in dem das Ergebniss steht an.
Dann wird die reverse Methode aufgerufen und mit der Methode der StringBuffer zu einem String umgewandelt.

Dieser Stringwert wird zurückgegeben.

Also der Aufruf sollte so aussehen

Code:
String wert = dreheUm(ergebniss+"");

System.out.println("In der Basis x ist der wert "+wert);
 
hallo

@Manfred

ich habe jetzt das was du meinst ein bischen verstanden aber mein programm gibt mir immer nur die erste ziffer der umgewandelten zahl aus und nicht die ganze ???:L

naja ich warte einfach noch mal ein bischen mit dem was du vorgeschlagen hast bis ich in java so weit bin um solche methoden (bin erst am anfang java zu lernen) zu verstehen aber trotzdem danke für deinen denkanstoß bin durch dich auf die meine lösung mit dem string gekommen sieh programm die for schleife
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Ausgabe einer ArrayList ensteht nur als Hashcode, nicht als Objekt Java Basics - Anfänger-Themen 16
M Methode zielnah zeigt das gewünschte Ausgabe nicht an Java Basics - Anfänger-Themen 3
M Ausgabe beim Overloading Java Basics - Anfänger-Themen 3
H Frage zur Ausgabe Java Basics - Anfänger-Themen 4
H Java-Programm zur Ausgabe von Zuständen Java Basics - Anfänger-Themen 80
S Einfach-Verkettete-Listen Ausgabe zeigt nur 1. und letzte instanz Java Basics - Anfänger-Themen 2
T float soll durch schleife die größte mögliche Zahl herausfinden, Ausgabe ist aber "Infinity" Java Basics - Anfänger-Themen 1
B Binärzahlen auflisten, falsche Ausgabe? Java Basics - Anfänger-Themen 1
M Java Ausgabe der höchsten Zahl Java Basics - Anfänger-Themen 14
M Erste Schritte While Schleife / Ausgabe von buchstabe & ASCII Wert Java Basics - Anfänger-Themen 4
nelsonmandela Problem bei Ausgabe einer Switch - Case Funktion Java Basics - Anfänger-Themen 5
W Streams in Java und was bedeutet meine Konsolen-Ausgabe? Java Basics - Anfänger-Themen 4
B Automatisierte Ausgabe (Schleife, If-Abfrage?) Java Basics - Anfänger-Themen 24
C 2D Array Ausgabe mit for-Schleife i,j Java Basics - Anfänger-Themen 4
B Deadlock verstehen der Ausgabe! Java Basics - Anfänger-Themen 12
Lion.King Ausgabe mit Eigenschaften Java Basics - Anfänger-Themen 4
D Java Pattern mit X Ausgabe Stern Java Basics - Anfänger-Themen 4
J In der Ausgabe wird ohne Eingabe in den else Block gesprungen. Java Basics - Anfänger-Themen 0
J In der Ausgabe wird ohne Eingabe in den else Block gesprungen. Java Basics - Anfänger-Themen 5
Xaver code Tastatur ausgabe Java Basics - Anfänger-Themen 4
R Anfänger: Ausgabe kommt minus raus? Java Basics - Anfänger-Themen 6
K Leerzeile in Konsolen-Ausgabe Java Basics - Anfänger-Themen 4
K Zweite Ausgabe von vererbten Klassen Java Basics - Anfänger-Themen 3
Q return Ausgabe Java Basics - Anfänger-Themen 4
C Java Arrays - Ausgabe in Methode Java Basics - Anfänger-Themen 12
D Best Practice Ausgabe über direkte Ausgabe oder try-catch? Java Basics - Anfänger-Themen 13
S Ausgabe des Variablenwerts Java Basics - Anfänger-Themen 10
I Ausgabe nicht nur senkrecht sondern auch waagerecht. Java Basics - Anfänger-Themen 2
paulen1 Methoden Unerwünschte Ausgabe bei System.out.print in For-Schleife Java Basics - Anfänger-Themen 8
C Ausgabe boolean return ((n==9)||(n==0)); Java Basics - Anfänger-Themen 13
F Double Ausgabe nicht wissenschaftlich Java Basics - Anfänger-Themen 16
danieldemetry Java - Graph Komponenten - Ausgabe Java Basics - Anfänger-Themen 0
S Fragen zu Ausgabe double und float Java Basics - Anfänger-Themen 3
B Ausgabe in TextArea funktioniert nicht Java Basics - Anfänger-Themen 2
D BigDecimal Ausgabe sehr lang. Java Basics - Anfänger-Themen 2
J String Ausgabe Java Basics - Anfänger-Themen 2
TimoN11 IntelliJ , Ausgabe von einem Quellcode in Eingabe eines Quellcodes Java Basics - Anfänger-Themen 1
Kalibru Problem bei Ausgabe von Objekt Java Basics - Anfänger-Themen 1
KogoroMori21 Array-Ausgabe Java Basics - Anfänger-Themen 6
JaVaN0oB Wörterraten - Falsche Ausgabe, String/Chars vergleichen Java Basics - Anfänger-Themen 2
E Ausgabe überschreiben Java Basics - Anfänger-Themen 15
D Ausgabe von Array Java Basics - Anfänger-Themen 2
U Ausgabe Java Basics - Anfänger-Themen 4
J Buchstabenhäufigkeit mit Array und Ausgabe des häufigsten Buchstaben Java Basics - Anfänger-Themen 25
V Multiplikationstafel - Ausgabe Java Basics - Anfänger-Themen 4
L Warum ist die Ausgabe anders als das was im Bezeichner steht? Java Basics - Anfänger-Themen 4
M In gleicher zeile hinter ausgabe noch etwas ausgeben Java Basics - Anfänger-Themen 1
newcomerJava Nach doppelter Zahl eine Ausgabe Java Basics - Anfänger-Themen 10
H Falsche Ausgabe Java Basics - Anfänger-Themen 2
P Klassenübergreifende Ausgabe mittels "getter" nicht möglich Java Basics - Anfänger-Themen 21
R Call-by-Value, Call-by-Reference, Call-by-Name Ausgabe Java Basics - Anfänger-Themen 1
JavaClap "Bruchrechner" liefert Fehler/keine Ausgabe bei Addition und Subtraktion Java Basics - Anfänger-Themen 0
D Warum erfolgt folgende Ausgabe und warum? Java Basics - Anfänger-Themen 4
C Ausgabe in der Konsole Java Basics - Anfänger-Themen 11
M Problem bei Ausgabe Java Basics - Anfänger-Themen 7
C Konvertierung des int typs in den double typ für die Ausgabe mit Nachkommastellen Java Basics - Anfänger-Themen 4
A Ausgabe mit boolean Java Basics - Anfänger-Themen 3
K Probleme bei der Ausgabe - komme nicht weiter :/ Java Basics - Anfänger-Themen 15
G Problem bei der Ausgabe einer Main Claase Java Basics - Anfänger-Themen 7
Y Methode + Parameters + Ein und Ausgabe Java Basics - Anfänger-Themen 1
K Methodenaufruf /-ausgabe Java Basics - Anfänger-Themen 5
A Wiederholte Ausgabe vermeiden Java Basics - Anfänger-Themen 16
B Collections Objektreferenz-ID in der Ausgabe (Comparator Interface) Java Basics - Anfänger-Themen 2
M Wie analysiert JSON eine toString-Ausgabe ? Java Basics - Anfänger-Themen 1
T Vererbung Verschiedene Fahrzeugtypen mit unterschiedlicher Ausgabe Java Basics - Anfänger-Themen 17
T Ausgabe einer for Schleife Java Basics - Anfänger-Themen 2
S Elemente eines Arrays bei Ausgabe auslassen Java Basics - Anfänger-Themen 2
M Ausgabe einer Liste welche mehrere Stacks enthält Java Basics - Anfänger-Themen 3
T Text-Ausgabe für Textadventure - Organisation Java Basics - Anfänger-Themen 5
G Unterklassen (Klasse für Ausgabe) Java Basics - Anfänger-Themen 4
N Eingabe des Users direkt hinter die Ausgabe Java Basics - Anfänger-Themen 3
J Methode zur Ausgabe eines Dreiecks aus Sternen schreiben? Java Basics - Anfänger-Themen 2
ZH1896ZH Wieso diese Ausgabe?? Java Basics - Anfänger-Themen 10
J Fragen zum Code aus dem Buch "Schrödinger programmiert Java 2.te Ausgabe" Java Basics - Anfänger-Themen 6
B Keine Ausgabe .. Woran liegt das? Ich komme nicht weiter Java Basics - Anfänger-Themen 14
K Rechtsbündige Ausgabe von Zahlen Java Basics - Anfänger-Themen 6
V Erste Schritte for-Schleife; Ausgabe soll alle 5 Sekunden erfolgen. Java Basics - Anfänger-Themen 4
X Threads Zwei Threads, aber doppelte Ausgabe verhindern (synchronized) Java Basics - Anfänger-Themen 54
J Ausgabe Gesamtpreis Java Basics - Anfänger-Themen 39
E Variablen in formatierter Ausgabe Java Basics - Anfänger-Themen 15
B HQL / Hibernate, GroupBy und Ausgabe als Double Java Basics - Anfänger-Themen 1
J StrinBuffer in der Ausgabe Java Basics - Anfänger-Themen 4
H ausgabe? Java Basics - Anfänger-Themen 32
B Ausgabe Zahlenreihe Horizontal Java Basics - Anfänger-Themen 3
V Neue Ausgabe von toString nach Methodenaufruf Java Basics - Anfänger-Themen 9
N Wochentagberechner Ausgabe funktioniert nicht Java Basics - Anfänger-Themen 7
K Array Ausgabe Java Basics - Anfänger-Themen 2
L Datentypen Ausgabe von eigenem Datentypen Java Basics - Anfänger-Themen 2
C 1x1 Ausgabe auf dem Bildschirm Java Basics - Anfänger-Themen 3
L Fehler im Programm bei Ausgabe Java Basics - Anfänger-Themen 21
J Doppelte Ausgabe erzeugen Iterator Java Basics - Anfänger-Themen 6
F Warum ist die Ausgabe hier 1? Java Basics - Anfänger-Themen 4
Bun17 Keine Ausgabe in der Konsole Java Basics - Anfänger-Themen 2
H Ausgabe Java Basics - Anfänger-Themen 6
U Ausgabe von Dateiinhalt während Programmnutzung fehlerhaft Java Basics - Anfänger-Themen 3
Jackii ArrayList ausgabe ohne Dopplung Java Basics - Anfänger-Themen 11
F Erste Schritte Subnet Calculator - Ausgabe der NetID und der Broadcast Java Basics - Anfänger-Themen 4
D Wiederholende Ausgabe Java Basics - Anfänger-Themen 3
G Exception und Ausgabe der Duplikate Java Basics - Anfänger-Themen 6
A Datei Ein und Ausgabe FileWriter und printWriter Java Basics - Anfänger-Themen 5

Ähnliche Java Themen

Neue Themen


Oben