Java Probelm

bra-tak

Neuling
Thread Starter
Mitglied seit
13.05.2008
Beiträge
233
Ort
Hamburg
Hallo,

ich habe ein Problem, und zwar gibt mir mein folgender Code - egal was man eingibt - null als Skalarprodukt aus.

Kann sich das einer mal anschauen, ist sicher nur ein kleiner fehler, aber ich scheine ihn zu übersehen :)

Danke schonmal!

Code:
public class Hallo {
	static int dim;
	
	public static int Vlesen(int[] x, int[] y) {
		SimpleIO.println("Hallo liebe JAVA-Welt! " +
				"Dies ist ein Programm zur Berechnung von Längen, Skalarprodukten, Kreuzprodukten und Summen von Vektoren");
		SimpleIO.println("Geben Sie bitte ein, wie viele Dimensionen der Raume der Vektoren umfasst!");
		SimpleIO.println("");
		
		dim=SimpleIO.readInteger();
		
		x=new int [dim];
		y=new int [dim];
		boolean againV1;
		boolean againV2;
		
		//Vektor 1 einlesen
		
		do {
			try {
				SimpleIO.println("Bitte alle Komponenten von Vektor1 mit 'Enter' getrennt eingeben!");
				
				for (int i=0;i<dim;i++) {
					x[i]=SimpleIO.readInteger();
				}
				againV1=false;
				
			} catch (NullPointerException e) {
				SimpleIO.println("ACHTUNG!!!");
				SimpleIO.println("Die Eingabe muss eine Zahl ohne Komma oder Punkt sein !!! (int) ");
				SimpleIO.println("");
				againV1=true;
			}
		} while (againV1);
		
		//Vektor 2 einlesen
		
		do {
			try {
				SimpleIO.println("Bitte alle Komponenten von Vektor2 mit 'Enter' getrennt eingeben!");
				
				for (int i=0;i<dim;i++) {
					y[i]=SimpleIO.readInteger();
				}
				againV2=false;
				
			} catch (NullPointerException e) {
				SimpleIO.println("ACHTUNG!!!");
				SimpleIO.println("Die Eingabe muss eine Zahl ohne Komma oder Punkt sein !!! (int) ");
				SimpleIO.println("");
				againV2=true;
			}
			
		} while (againV2);
		
		//Vektoren an den Benutzer ausgeben
		
		SimpleIO.println("Es werden Berechnungen auf Grundlage der folgenden beiden Vektoren durchgeführt:");
		SimpleIO.println("");
		
		for (int i=0;i<dim;i++) {
			SimpleIO.println("      " + x[i] + "           " + y[i]);
		}
		
		return 0;
	}
	public static int SProdukt(int[] c, int[] d) {
		c=new int [dim];
		d=new int [dim];
		int skalarP=0;
		
		for (int i=0;i<dim;i++) {
			skalarP+=c[i]*d[i];
		}
		
		SimpleIO.println("");
		SimpleIO.println("Das Skalarprodukt der Vektoren beträgt:  " + skalarP + "  !");
		SimpleIO.println("");
		return 0;
	}
	
	
	public static void main (String[] args) {
		int[] a,b;
		a=new int [dim];
		b=new int [dim];
		Vlesen(a,b);
		SProdukt(a,b);
	}
}
 
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
Der Fehler liegt in den ersten beiden Zeilen von SProdukt.
 
hat sich schon erledigt. hab alles zum laufen gebracht :)

siehe:

Code:
public class Hallo {
	static int dim;
	
	public static void Vlesen(int[] x, int[] y) {
		boolean againV1;
		boolean againV2;
		
		//Vektor 1 einlesen
		
		do {
			try {
				SimpleIO.println("Bitte alle Komponenten von Vektor1 mit 'Enter' getrennt eingeben!");
				
				for (int i=0;i<dim;i++) {
					x[i]=SimpleIO.readInteger();
				}
				againV1=false;
				
			} catch (NullPointerException e) {
				SimpleIO.println("ACHTUNG!!!");
				SimpleIO.println("Die Eingabe muss eine Zahl ohne Komma oder Punkt sein !!! (int) ");
				SimpleIO.println("");
				againV1=true;
			}
		} while (againV1);
		
		//Vektor 2 einlesen
		
		do {
			try {
				SimpleIO.println("Bitte alle Komponenten von Vektor2 mit 'Enter' getrennt eingeben!");
				
				for (int i=0;i<dim;i++) {
					y[i]=SimpleIO.readInteger();
				}
				againV2=false;
				
			} catch (NullPointerException e) {
				SimpleIO.println("ACHTUNG!!!");
				SimpleIO.println("Die Eingabe muss eine Zahl ohne Komma oder Punkt sein !!! (int) ");
				SimpleIO.println("");
				againV2=true;
			}
			
		} while (againV2);
		
		//Vektoren an den Benutzer ausgeben
		
		SimpleIO.println("Es werden Berechnungen auf Grundlage der folgenden beiden Vektoren durchgeführt:");
		SimpleIO.println("");
		
		for (int i=0;i<dim;i++) {
			SimpleIO.println("      " + x[i] + "           " + y[i]);
		}
	}
	
	public static void SProdukt(int[] x, int[] y) {
		int skalarP=0;
		
		for (int i=0;i<dim;i++) {
			skalarP+=x[i]*y[i];
		}
		
		SimpleIO.println("");
		SimpleIO.println("Das Skalarprodukt der Vektoren beträgt:  " + skalarP + "  !");
		SimpleIO.println("");
	}
	
	public static void KProdukt(int[] x, int[] y) {
		if (dim==3) {
			int[] kreuzP=new int [dim];
			kreuzP[0]=x[1]*y[2]-x[2]*y[1];
			kreuzP[1]=x[2]*y[0]-x[0]*y[2];
			kreuzP[2]=x[0]*y[1]-x[1]*y[0];
			
			SimpleIO.println("Das Kreuzprodukt der Vektoren beträgt:");
			SimpleIO.println("");
			
			for (int i=0;i<dim;i++) {
				SimpleIO.println(kreuzP[i]);
			}
			
		} else {
			SimpleIO.println("Ein Kreuzprodukt kann nur mit 3-dimensionalen Vektoren errechnet werden!");
		}
	}
	
	public static void main (String[] args) {
		SimpleIO.println("Hallo liebe JAVA-Welt! " +
		"Dies ist ein Programm zur Berechnung von Längen, Skalarprodukten, Kreuzprodukten und Summen von beliebigen Vektoren.");
		SimpleIO.println("Geben Sie bitte ein, wie viele Dimensionen der Raume der Vektoren umfasst!");
		SimpleIO.println("");

		dim=SimpleIO.readInteger();

		int[] a,b;
		a=new int [dim];
		b=new int [dim];
		
		Vlesen(a,b);
		SProdukt(a,b);
		KProdukt(a,b);
	}
}
 
Hardwareluxx setzt keine externen Werbe- und Tracking-Cookies ein. Auf unserer Webseite finden Sie nur noch Cookies nach berechtigtem Interesse (Art. 6 Abs. 1 Satz 1 lit. f DSGVO) oder eigene funktionelle Cookies. Durch die Nutzung unserer Webseite erklären Sie sich damit einverstanden, dass wir diese Cookies setzen. Mehr Informationen und Möglichkeiten zur Einstellung unserer Cookies finden Sie in unserer Datenschutzerklärung.


Zurück
Oben Unten refresh