integer zahlenfolge speichern, ausgeben

rollcage

Neues Mitglied
Bin noch blutiger Anfänger und muss bis übermorgen eine fertige Datei abgeben aber komme seit gestern bei einem Punkt nicht weiter. Und zwar möchte ich, dass alle Int-Werte von "neuebasis"
-gespeichert werden
-alles direkt hintereinander steht ohne leerzeichen etc.
-diese Zahlenfolge komplett umgedreht ist d.h. 1234->4321

[JAVA=42]
public class Divmitrest {

public static void main(String[] args) {
System.out.println(convertValue(4,4));
}
/**
* Die folgende Funktion konvertiert eine Dezimalzahl in
* eine Zahl einer anderen Basis
*
* @param zahl Die umzuwandelnde Dezimalzahl
* @param basis Die Basis in die umgewandelt werden soll
*
* @return Zahl in der neuen Basis
*/

public static int convertValue (int zahl, int basis){
int quotient,neuebasis=0;
zahl=1234;
basis=5;
while (zahl!=0){
quotient=zahl/basis;
neuebasis=zahl%basis; //Ich will neuebasis komplett und umgedreht
zahl=quotient;
}
return neuebasis;
}
/**
* Die folgende Funktion konvertiert eine Dezimalzahl in eine Zahl
* einer anderen Basis. Ziffern groesser 9 werden dabei mit
* Buchstaben in alphabetischer Reihenfolge dargestellt.
* Beispiel convertValueToString(14 ,16) -> E
*
* @param zahl Die umzuwandelnde Dezimalzahl
* @param basis Die Basis in die umgewandelt werden soll
*
* @return Textdarstellung der Zahl in der neuen Basis
*/
public static String convertValueToString(int zahl, int basis){
return null;
}

}

[/code]

Später will ich mich noch um die zweite Funktion kümmern, und danach geht es noch darum das ganze in ein JFrame zu packen, wo man die zahlen eingeben kann und auf umrechnen klickt. Aber erstmal geht es um das oben genannte problem.
 
Also Zahlen können in dynamischen Listen gespeichert werden. Da bietet sich eine [JAPI]ArrayList[/JAPI] an.
Zahlen umdrehen ist jetzt etwas anders wenn du 1 - 2 - 15 hast möchtest du:
a) 1521 zurück haben oder
b) 5121?

Bei Variante a gehst du die Liste rückwärts druch und mit Stringkonkatenierung schaffst du das dann oder
bei Variante b fügst du deine Zahl gleich einem [JAPI]StringBuilder[/JAPI] hinzu und zum Schluss machst du ein [JAPI]StringBuilder#reverse()[/JAPI].

Java:
import java.util.ArrayList;
import java.util.List;

public class Test {

	public static void main(String[] args) {
		List<Integer> list = new ArrayList<>();
		StringBuilder sb = new StringBuilder();
		StringBuilder sbdebug = new StringBuilder();
		for(int i = 0; i < 10; i++) {
			int nr = (int)(Math.random()*100);
			list.add(nr);
			sb.append(nr);
			if(i!=0) {
				sbdebug.append("-");
			}
			sbdebug.append(nr);
		}
		//Variante b
		System.out.println(sb.reverse());
		System.out.println(sbdebug.reverse());
		
		String s = "";
		String sdebug = "";
		for(int i = list.size()-1; i >= 0; i--) {
			s += list.get(i);
			sdebug += list.get(i);
			if(i != 0) {
				sdebug += "-";
			}
		}
		//Variante a
		System.out.println(s);
		System.out.println(sdebug);
	}
}
 
Zuletzt bearbeitet:

Neue Themen


Zurück
Oben