Arrays miteinander vergleichen

  • Themenstarter Themenstarter Nikamort
  • Beginndatum Beginndatum
N

Nikamort

Gast
Hallo liebe Leute,

da ihr mir vor einer Woche schonmal supertoll geholfen habt wollte ich euch nochmal was fragen....
ich soll etwas mit mehreren Punkten berechnen ( und deren x sowie y koordinaten berechnen).
vorab soll festgestellt werden ob die Punkte identisch sind...

leider bin ich noch nicht so gut mit den Arrays und bei meinem vergleich der punkte funktioniert es einfach nicht.
was mache ich falsch???
wenn ich jetzt alle punkte gleich angebe schreibt er nicht den satz und wiederholt die do while schleife auch nicht...

Java:
/**
 * Klasse ParabellageN.
 * 
 * @author (Ihr Name)
 * @version (eine Versionsnummer oder ein Datum)
 */

public class ParabellageN
{
    public static void main( String args[] ) {
        JConsole fenster = new JConsole("ParabellageN");
        char ja_nein;
        double x1,x2,x3,x4,y1,y2,y3,y4,a,b,c,y4i;
        double[] p1,p2,p3,p4;
        try{
            do{
            do{
             
                p1 = new double [2];
                p2 = new double [2];
                p3 = new double [2];
                p4 = new double [2];
                
                
                
              fenster.println(" Bitte geben sie die Variable x1 ein : ");
              p1[0] = fenster.readDouble();
              
              fenster.println(" Bitte geben sie die Variable y1 ein : ");
              p1[1] = fenster.readDouble();
              
             fenster.println(" Bitte geben sie die Variable x2 ein : ");
              p2[0] = fenster.readDouble();
              
              fenster.println(" Bitte geben sie die Variable y2 ein : ");
              p2[1] = fenster.readDouble();
              
              fenster.println(" Bitte geben sie die Variable x3 ein : ");
              p3[0] = fenster.readDouble();
              
              fenster.println(" Bitte geben sie die Variable y3 ein : ");
              p3[1] = fenster.readDouble();
              
              fenster.println(" Bitte geben sie die Variable x4 ein : ");
              p4[0] = fenster.readDouble();
              
              fenster.println(" Bitte geben sie die Variable y4 ein : ");
              p4[1] = fenster.readDouble();
             
              
              
              if( p1 == p2 || p1 == p3 || p1==p4 || p2==p3 || p2==p4 || p3==p4){
                  
                  fenster.println(" Die Punkte sollen verschieden sein! Bitte die Punkte erneut eingeben!");
                }
            }while( p1 == p2||p1 == p3||p1==p4||p2==p3||p2==p4||p3==p4);
            
            
            
        
        fenster.print ("Programm beenden? j/n: "  + '\n' );
        ja_nein = fenster.readChar ();
            
       }while(ja_nein=='n');
    fenster.println('\n'+"PROGRAMMENDE" );
    Thread.sleep(2000);
    System.exit(0); 
                
                }
          catch (InterruptedException ie) {}
    }
    
}
 
Arrays kannst du bspw. per
Code:
Arrays.equals(array1, array2)
vergleichen. Da aber dein Array nen Punkt repräsentiert würde ich aus den eingelesenen Werten eine Point instanz erzeugt. Diese kannst du dann per equals vergleichen.
 
ja die equals methode habe ich bereits in der Bibliothek gefunden aber wie wende ich sie auf meinen Fall an?
außerdem muss ich noch mit den werten aus den Arrays rechnen kann ich das einfach so machen : !?

a = ( (p1[1]-p3[1])*(p1[0]-p2[0])-(p1[1]-p2[1])*(p1[0]-p3[0]));

Point instanz hab ich noch nie gehört.... bitte nicht noch mehr komplizierte sachen....
 
Kann mir jemand bitte sagen wie ich diese Arrays.equals benutze??? Google hilft mir da auch nicht weiter....
ich weiß auch nicht ob ich alle 4 so einfach hinter einander weg vergleichen kann !?

Java:
if(Java.util.Arrays.equals( p1,p2,p3,p4) ){
                  
                  fenster.println(" Die Punkte sollen verschieden sein! Bitte die Punkte erneut eingeben!");
                }

Beiße hier schon in die Tischkante weil mich das soooo nervt....
 
Nö kannste nicht, Arrays.equals erwartet nur genau zwei Parameter. Steht auch so in der API.
 
Ja und wie vergleiche ich die beiden jetzt!? also wie schreibe ich das genau in den quelltext???
 
...und wie geht das ?
wenn ich :

Java:
import java.Arrays;

eingebe sagt er, dass er die klasse Array nicht findet...
 

Zurück
Oben