Problem bei einer Übung aus der FH

arne1234

Mitglied
Hi,
Und zwar habe ich folgende fiese Aufgabenstellung .... Ein Code aus 3 Ziffern soll eingegeben werden(denke einzeln also 1 Ziffer pro Eingabe) , und entschlüsselt ausgegeben werden , nur die 1. und 3. Ziffer ändern sich wie folgt:

aus ...wird
0=9
1=8
2=7
3=6
4=5
5=4
6=3
7=2
8=1
9=0

ich kann eigentlich nur normale Rechenoperation , Variablen , sysoutprint,msgbox,für Ausgabe und Eingabe SysReadln das wars (fang grad an )


( dürfen keine Strings, keine if-anweisung, Arrays verwenden ham wir noch nicht gehabt ) es muss irgendwie so gehen hab mir wirklich den kopf zerbrochen ich raff die Aufgabe nicht ..google alles bemüht...mit ner if Anweisung klar ...aber ohne irgendwie mit modulo oder dreieckstausch (mit hilfsvariable) ???keine Ahnung!!!....

wäre für jeden denkanstoss oder Hilfe dankbar muss das bis Montag irgendwie schaffen hab den ganzen übungsbogen geschafft alle aufgaben 2 punkte...da ich krank war sind 2 punkte zu verschenken schmerzlich...sind keine Hausaufgaben ...ist ne Übung möchte nicht dumm da stehen und es aufarbeiten.. doch die letzte blöde Aufgabe hängt wär schön wenn ichs irgendwie mit euerer Hilfe schaffe :D ....2 variablen vertauschen krieg ich hin mit hilfsvariable aber 9 verschiedene werte auf bestimmte zahlen ??? omg

Hoffe es ist nicht zu nervig für euch....
 
Zuletzt bearbeitet:

arne1234

Mitglied
jetz hab ichs nächste problem wie tu ich bis zu 3 stellige zahlen einlesen und dann in einzelne variablen zerlegen (incl. ergänzung führender Null) Mein Problem wenn ich......... int a = InputBox.readint () nehme was die einzige eingabe ist die wir benutzen wie krieg ich aus ner 3 stelligen zahl.... 3 einzelne variablen?
 

Flown

Administrator
Mitarbeiter
Ganz einfach:

Java:
public class Test {
  public static void main(String[] args) {
    int i = 123;
    while (i > 0) {
      System.out.println(i - i / 10 * 10);
      i /= 10;
    }
  }
}
 

Flown

Administrator
Mitarbeiter
Prinzip bleibt das gleiche. Mit der Formel oben i - i / 10 * 10 kannst du die einerstelle herausfinden!

Bsp.:

i = 321
einer = i - i/10 *10 (= 321 - 32 * 10 <=> 321-320 <=> 1)
i = i /10 (= 321 / 10 <=> 32)
usw.
 

arne1234

Mitglied
gerafft danke !

mega nett.. stand irgendwie aufn schlauch ganze woche schon am nachhohlen gewesen war bissl viel für mich,

P.S. macht er dann die führende 0 auch mit?
 
Zuletzt bearbeitet:

arne1234

Mitglied
Hi ,

alles top funktioniert 3 kleine fragen hätt ich noch wenns nich schlimm ist....

1. math.round.... darf ich nich nutzen wie runde ich ohne die funktion,

2. math.pow.... darf ich nicht nutzen wie schreibe ich double Math.pow(1 + p / 100,n); ohne die math.pow funktion
habe double K = A * (1+p/100)^n; versucht geht aber nicht weil wohl "^" bei double nicht erlaubt ist..... :shock:


3. math.random.... für ne zufallszahl auch nicht wie erstelle ich dann eine zufallszahl zwischen einem bestimmten int wert z.B 1-10


Gruß Arne
 
Zuletzt bearbeitet:

Flown

Administrator
Mitarbeiter
Für deine 1. Frage (die Antwort steht bereits oben!). Du castest ein double auf ein int, somit verlierst du alle Nachkommastellen und kannst somit diese Zahl von der ursprünglichen abziehen. Wenn sie dann größer als 0.5 ist dann den ursprünglichen Wert auf int casten und +1 rechnen. Falls nicht nur auf int casten.

2. Frage: Mit einer Schleife. Sooft durchlaufen bis die gewünschte Potenz erreicht ist (weil n³ = n*n*n -> machts Klick?)

3. Frage: Glaube ich nicht, dass ihr Zufallszahlen selbst erstellen müsst. Aber wenn es wirklich sein muss, dann benutz doch einen Zeitstempel (System.nanoTime() % 10 + 1).
 

arne1234

Mitglied
danke für die schnelle antwort....

1. verstanden
2. wird problematisch ist ja ein (term) den ich hoch "n" nehmen soll wenn n nicht variabel wäre ok klar ... aber so ...kp
3. dann lass ichs mit math.random drinn...system.nanoTime hatten wir auch noch nicht bleibt sich also gleich

Gruß Arne
 

arne1234

Mitglied
ja und wie regel ich das ihm zu sagen das er n mal den term mit sich selbst nehmen soll???

zahl aus dem term^n geht ja nicht
 
Zuletzt bearbeitet:

arne1234

Mitglied
also stand nix von if anweisungen , keine math.pow, math.round,math.random,..... alles nur durch einfache rechenoperationen........ aber ich las die math funktionen wohl drinn anders weiss ichs auch nich mal sehn wieviel punkte ich erreich.... nach abgabe poste ich am montag die programme mal rein... total low ich weiss aber irgendwann ist immer der anfang...

vielen dank trozdem für eure nette unterstüzung!

gruß arne
 
Zuletzt bearbeitet:

Neue Themen


Oben