So wie ich das sehe, bleiben die Werte die du in dem Schleifen ausrechnest konstant, und haben eine feste länge, du kannst die Werte als einmal ausrechnen und sie dann in ein Array packen.
Pseudeo (vieleicht auch lauffähig, habs aber ohne IDE geschrieben) Code:
Code:
import java.awt.*;
import java.util.Random;
import javax.swing.*;
public class Main extends JPanel
{
private static final long serialVersionUID = -2294685016438617741L;
private static final Random r = new Random();
int[] ax = new int[größe des Arrays]; //größe des Arrays ist die Anzahl wie viele Zahlen in den Array passen sollen, die musst du halt einmal ausrechen/ausprinten lassen
int[] ay = new int[größe des Arrays];
@Override
protected void paintComponent( Graphics g )
{
super.paintComponent( g );
g.setColor(new Color(255,0,0));
for(int i : ax){
g.drawLine(i, 0, 0, 0);
}
for(int i : ay){
g.drawLine(i, 0, 0, 0);
}
//oder wenn du es in einer Schleife willst
for (int i = 0; i < Math.max(ax.lenght, ay.lenght); i++) {
if (i < ax.lenght) {
g.drawLine(ax[i], 0, 0, 0);
}
if (i < ay.lenght) {
g.drawLine(ay[i], 0, 0, 0);
}
}
}
public static void main( String[] args )
{
JFrame f = new JFrame( "Neoplastizismus" );
f.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
f.setSize( 300, 300 );
f.add( new Main() );
f.setVisible( true );
f.setResizable(false);
f.setLocationRelativeTo(null);
int i = 0;
g.setColor(new Color(255,0,0));
for(int x = 10; x < getWidth() -10; x=+10){
ax[i] = x;
i++;
}
i = 0;
for(int y = 10; y < getHeight() - 10; y=+10){
ay[i] = y;
i++;
}
}
}
Aber ich glaube nicht das du damit wirklich Leistung sparts
1.) Was soll das denn? Was funktioniert nicht und was hast du getan, um das Problem zu beheben? Ich kann kein Java, kann mir aber gut vorstellen das die Linien die du zeichnest nicht auftauchen, weil deren Länge 0 ist. Du übergibst ja nichts anderes als die X Koordinate.
2.) Gar nicht. Außer, wenn garantiert ist, das die Breite von X immer den selben Wert besitzt wie die Höhe von Y. Dann könntest du in einer Schleife beide Linien zeichnen.
Du schreibst in den Schleifen x=+10. Das weißt x nach jedem Durchlauf den Wert +10, also 10 zu.
Du möchtest aber x+=10, was den Wert von x nach jedem Durchlauf um 10 erhöht.
1)
Deine Schleife ist syntaktisch falsch. Im Iterationsschritt benutzt du eine Zuweisung auf 10. X wird immer 10 bleiben und du wirst die Schleife nicht verlassen. Deshalb wird (fast) nichts gezeichnet. Die Fehlende Funktionalität des gesamten Frames (zB. dem close-event) hat dich nicht stutzig gemacht?
Richtig wäre x += 10 oder x = x +10.
2)
Der Rumpf beider Schleifen tut auch in Zukunft exakt das selbe? Dann vergleiche beide Iterationsbedingungen und nimm die größere:
Code:
int max = ((getWidth() > getHeight()) ? getWidth() : getHeight()) - 10;
for (int x = 10; x < max; x += 10) {
g.drawLine(x, x, getHeight() / 2, getWidth() / 2);
}
Passieren im Rumpf in Zukunft verschiedene Dinge brauchst du jedoch weiterhin 2 Schleifen.
Code kürzen? 07/13/2014 - General Coding - 4 Replies Hey Leute!
Hab folgendes Problem, ich will einen Längeren Code kürzen damit der ganze Code besser aussieht, funktionieren tut es nur habe ich 1 Problem:
Wenn ich diesen Code:
" "
So kürze:
Ddns kürzen 04/10/2014 - Technical Support - 2 Replies Hallo ich habe eine kostenlose ddns und ich würde sie gerne kürzen mit dot.tk oder anderen Anbietern mit dot.tk bekomme ich es nicht hin.
Bitte helft mir!
Danke
hfw2003
Brüche kürzen C++ ? 02/16/2012 - C/C++ - 10 Replies Hey Guyz.
Hat jemand von euch eine Class für das Kürzen von Brüchen in C++ ?
Meine Class sieht wie folgt aus:
class Bruch
{
public:
Bruch()
Musik Kürzen 05/11/2011 - Music - 3 Replies Hey, Leute auf anfrage von nem friend zeig ich euch wie man musik kürzt.
Also ich mein das so wenn euer lied nur 4minuten geht die audio datei 5minuten dann kann das schon nerven :facepalm:
Wie man sie kürzt?Recht simpel.
Jeder von euch müsste den windows movie maker aufm pc haben.
Dann importiert ihr die gewünschte musik und geht auf die stelle wo eure musik vorbei geht.Dann drückt ihr auf trennen,Dann könnt ihr den rechten teil löschen da er ja keine musik beinhaltet.. dann noch auf film...
Cooldown kürzen? 07/15/2010 - 4Story - 20 Replies Leute ich will mit bogenschütze pvp eqi uppen , aber man muss ja immer 90sek warten kann man das irgendwie verringern? hilfe wäre nett