SEO-Software von Suchmaschinenoptimierung.de

Graph

(hier klicken, um zum Original Thread zu gelangen)
MyHome
Hi Leute

Habe mir vorgenommen Java zu lernen. Nun habe ich mal eine Funktion zusammen mit Randbegrenzung usw. fertig gemacht.

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
import java.applet.Applet;
import java.awt.*;

public class FuncPlot extends Applet {
    
	public void init() {	
	}
	
	public void paint(Graphics g) {
		draw(g, -2.5, 2.5, -1.5, 1.5);
	}
	
	public static double f(double x) {
		
		final double p = Math.PI;
								
		if (x<-p/2) {
			return -1;
		} 
		if (x>p/2) {
			return 1;
		} else {
			return Math.sin(x);
		}
    }
	
	
	public void draw(Graphics g, double xMin, double xMax, double yMin, double yMax) {
		
		
		final double DX = 0.1;
		final int RAND = 25;
		int s = (int) ((xMax - xMin) / DX +1);	
		
		int[] ykord = new int[s]; 
		int[] xkord = new int[s];
		
		int b = getWidth() - 2 * RAND;
		int h = getHeight() - 2 * RAND;
		
		for (int i = 0; i < s; i++) {
			
			xkord[i] = RAND + (int) Math.round(((xMin + i * DX) - xMin)*b / (xMax - xMin));
			ykord[i] = RAND + (int) Math.round(h - ((f(xMin + i * DX) - yMin)*h / (yMax - yMin)));
		}
	
	g.drawPolyline(xkord, ykord, s);
	
	}
}


Findet ihr da Punkte, die ihr verbessern würdet?
Ich weiß, es ist nicht gerade DAS, was man wirklich braucht, aber um Basics zu lernen, dachte ich ists sinnvoll Aufgaben aus einem Buch zu machen, das mir eine Freundin empfohlen hat. Learning by Doing.

Der Editor hatte bei mir aus irgendwelchen Gründen total gesponnen, als ich bei

for (int i = 0; i < s; i++)

einfach

for (int i = 0; i<=s; i)

geschrieben hatte. Ist das normal? Müsste doch auch gehen.
Donut
Zitat:
Original von MyHome
Der Editor hatte bei mir aus irgendwelchen Gründen total gesponnen, als ich bei

for (int i = 0; i < s; i++)

einfach

for (int i = 0; i<=s; i)

geschrieben hatte. Ist das normal? Müsste doch auch gehen.


nuja, warscheinlich stäubt er sich weil die schleife kann entweder niemals verlassen oder niemals ausgeführt werden, denn du veränderst die schleifenvariable nie. (mit dem obigen code)
wenn du die varable innerhalb der schleife editieren willst, würde ich sowiso zur while-schleife raten.

also
code:
1:
2:
3:
4:
5:
6:
int i=0
while(i<=s)
{
    i++; //o.ä.
    //weiteres
}
MyHome
ah ja stimmt, so wäre das eine möglichkeit.
das ich bei der zweiten variante i statt i++ geschrieben habe und das totaler bockmist war, ist mir gestern klargeworden fröhlich
aber das mit der while schleife ist auch interessant, ja, damit müsste es auch gehen, cool
derletztekick
... und hübsch sieht die auch aus, wenn man möchte:

code:
1:
2:
3:
4:
5:
6:
int i=0
while(i++<s)
{
    //weiteres
}


Micha
(hier klicken, um zum Original Thread zu gelangen)



Tipp: Ranking-Konzept.de - Das SEO-Forum (Forum rund um die Suchmaschinenoptimierung) der artaxo AG.
Das große Versicherungs ABC von Versicherung.de - mit allen Aspekten der Computerversicherungen!
Fan-Foren.de, die große Community mit Musikforum ist ab sofort online.