Simple Rechnung automatisieren

spearmint

Mitglied
Hallo,

ich habe ein Problem bei dem ich nicht weiter komme und irgendwie sehe ich den Fehler nicht. Es ist relativ einfach.

Das Programm soll ein Intervall von 90 bis -90 durch einen Faktor teilen und die "Streckenabschnitte" ausgaben.

Beispiel:
Von 90 bis -90 sind es 180. Die Stecke 180 durch 2 teilen sind 90, also geht es von 90 zu 0 zu -90
Durch 4 teilen von 90 zu 45 zu 0 zu -45 zu 90.

Das ist eingentlich auch zu einfach...

Hier mal mein Code
Java:
public void calculateBoundings() {		
		int zoomIndex = 0;
		int zoomLevel = 1;		
		double x = -180;
		double y = 90;
		double newY = 90;

		for(int i=0;i<3;i++) {			
			System.out.println("--Zoom:" + zoomIndex + "--------------------");			
			for(int row=0;row<zoomLevel;row++) {
				double yCoord = y;
				double segment = Math.abs(yCoord * 2);				
				for(int col=0;col<zoomLevel;col++) {
					segment = segment / zoomLevel;
					newY = yCoord - segment;
					System.out.println("P[" + row + "/" + col + "] Stecke:" + newY);
				}
			}
			zoomLevel *= 2;
			zoomIndex++;			
		}	
	}

Die Ausgabe sieht wie folgt aus

--Zoom:0--------------------
P[0/0] Stecke:-90.0 <---------------------Hier müsste 180 stehen
--Zoom:1--------------------
P[0/0] Stecke:0.0 <---------------------Hier müsste 90 stehen
P[0/1] Stecke:45.0 <---------------------Hier müsste 0 stehen
P[1/0] Stecke:0.0 <---------------------Hier müsste 90 stehen
P[1/1] Stecke:45.0 <---------------------Hier müsste 0 stehen
--Zoom:2--------------------
P[0/0] Stecke:45.0
P[0/1] Stecke:78.75
P[0/2] Stecke:87.1875
P[0/3] Stecke:89.296875
P[1/0] Stecke:45.0
P[1/1] Stecke:78.75
P[1/2] Stecke:87.1875
...

Vielleicht sieht ja jemand den Fehler oder hat nen Tipp wie ich es vielleicht einfacher lösen könnte.

Vielen Dank im Voraus
 

ChrisKu

Bekanntes Mitglied
Bist Du sicher, dass Deine Erklärungen stimmen? Wenn ich Deine Aufgabe richtig verstanden habe, müsste Deine Ausgabe doch so aussehen, oder:

Zoom 0
p[0,0]: Strecke: 90
p[0,1]: Strecke: -90

Zoom1
p[0,0]: Strecke 90
p[0,1]: Strecke 0
p[1,0]: Strecke 0
p[1,1]: Strecke -90
 

spearmint

Mitglied
p[0,0]: Strecke 90
p[0,1]: Strecke 0

p[1,0]: Strecke 0
p[1,1]: Strecke -90

Das sind zwei unterschiedliche Spalten und an der Stelle P[x,y] ist es halt immer y(0)=90.
Von daher immer:
90 -> 0
90 -> 45 -> 0 -> -45
 

ChrisKu

Bekanntes Mitglied
Vielleicht so:

Java:
int zoomIndex = 0;
        int zoomLevel = 1;      
                
        double x1 = 90;
        double x2 = -90;
        double strecke = x1 - x2;
        double y;
        double yAlt;
 
        for(int i=0;i<3;i++) {          
            System.out.println("--Zoom:" + zoomIndex + "--------------------");
            yAlt = x1;
            double intervall = strecke / zoomLevel;
            for(int row=0;row<zoomLevel;row++) {
                y = yAlt - intervall;
                System.out.println("p[" + row + ",0]: Strecke" + yAlt);
                System.out.println("p[" + row + ",1]: Strecke" + y);
                yAlt = y;
                
            }
            zoomLevel *= 2;
            zoomIndex++;            
        }
 

spearmint

Mitglied
Lösung:

Java:
	public void calculateBoundings() {		
		int zoomIndex = 0;
		int zoomLevel = 1;
		
		double x = -180;
		double y = 90;
		double segment = Math.abs(y * 2);

		for(int i=0;i<5;i++) {			
			System.out.println("--Zoom:" + zoomIndex + "--------------------");
			
			for(int row=0;row<zoomLevel;row++) {
				double newY = y;
				double intervall = segment / zoomLevel;
				System.out.println("P[" + row + "/" + 0 + "] Stecke:" + y);
				for(int col=1;col<=zoomLevel;col++) {
					newY = newY - intervall;
					System.out.println("P[" + row + "/" + col + "] Stecke:" + newY);
				}
			}
			zoomLevel *= 2;
			zoomIndex++;			
		}	
	}

Ausgabe:

--Zoom:0--------------------
P[0/0] Stecke:90.0
P[0/1] Stecke:-90.0
--Zoom:1--------------------
P[0/0] Stecke:90.0
P[0/1] Stecke:0.0
P[0/2] Stecke:-90.0
P[1/0] Stecke:90.0
P[1/1] Stecke:0.0
P[1/2] Stecke:-90.0
--Zoom:2--------------------
P[0/0] Stecke:90.0
P[0/1] Stecke:45.0
P[0/2] Stecke:0.0
P[0/3] Stecke:-45.0
P[0/4] Stecke:-90.0
P[1/0] Stecke:90.0
P[1/1] Stecke:45.0
P[1/2] Stecke:0.0
P[1/3] Stecke:-45.0
P[1/4] Stecke:-90.0
...

Danke für die Hilfe
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
J Simple Date Format Alternativen bitte um Code Allgemeine Java-Themen 14
K Simple Wassersimulation Allgemeine Java-Themen 6
Thallius Simple JSON Parser Error null Allgemeine Java-Themen 6
4 Simple(?) Frage zu Threads Allgemeine Java-Themen 14
S Simple User Interface Frage Allgemeine Java-Themen 13
I zwei simple fragen Allgemeine Java-Themen 22
M Falsches Ergebnis bei Rechnung Allgemeine Java-Themen 1
Soloeco BreakEven Rechnung Allgemeine Java-Themen 28
D Brauche Hilfe bei Rechnung (Exponentiation) Allgemeine Java-Themen 12
M Arraynamen an andere Klasse übergeben für allg. Rechnung Allgemeine Java-Themen 7
C Rechnung genau 8 mal ausführen Allgemeine Java-Themen 5
Lazybone Rechnung erstellen und Drucken Allgemeine Java-Themen 19
A Fehler bei Rechnung mit GregorianCalendar Allgemeine Java-Themen 6
R Rechnung aus Java heraus erstellen und drucken Allgemeine Java-Themen 8
B Prozent Rechnung Allgemeine Java-Themen 19
J Eine Rechnung speichern vom Drucken Allgemeine Java-Themen 3
K warum ist bei der rechnung 2 / 3= 0 ? Allgemeine Java-Themen 9
D Wann ist das ergebnis einer Rechnung eine Double? Allgemeine Java-Themen 7
Kirby.exe Prozesse Automatisieren Allgemeine Java-Themen 10
D Selenium WebDriver HtmlUnitDriver Problem beim Automatisieren Allgemeine Java-Themen 1
D Java Update automatisieren Allgemeine Java-Themen 4
A [gelöst] Dynamischen Webseitentest automatisieren mit Java sinnvoll? Allgemeine Java-Themen 6
M Automatisieren Allgemeine Java-Themen 6
M Vorgänge in einem Programm automatisieren Allgemeine Java-Themen 3

Ähnliche Java Themen

Neue Themen


Oben