Hi,
ich gebe, zu ich bin ganz allgemein kein sooo guter Java-Programmierer, deswegen hoffe ich, dass das 'Problem' hier leicht beantwortet werden kann. Als ich kürzlich von C++ mal in JAVA reinschnuppern wollte, machten mir die einfachsten Dinge einen Strich durch die Rechnung.
Ich wollte in einem einfachen Beispiel mal ganz simpel eine Funktion zur Vektoraddition schreiben, die
- erst die Vektoren auf gleiche Größe prüft und
- dann die Einträge schrittweise addiert.
Ich habe bislang zwei Ansätze, die zwar richtig addieren, aber nicht den ERROR ausgeben, wenn die Dimensionen nicht stimmen. Ich glaube, da stimmt irgendwas nicht mit der Bool-Variable "same", denn die hat scheinbar keine Auswirkung.
1. Versuch mit Unterteilung in Funktionen:
2. Versuch ohne Funktionen (alles in der main):
Ich behaupte mal, eine geübter Java-Blick löst das hoffentlich recht schnell.
In jedem Fall vielen Dank!
greez Splinter
ich gebe, zu ich bin ganz allgemein kein sooo guter Java-Programmierer, deswegen hoffe ich, dass das 'Problem' hier leicht beantwortet werden kann. Als ich kürzlich von C++ mal in JAVA reinschnuppern wollte, machten mir die einfachsten Dinge einen Strich durch die Rechnung.
Ich wollte in einem einfachen Beispiel mal ganz simpel eine Funktion zur Vektoraddition schreiben, die
- erst die Vektoren auf gleiche Größe prüft und
- dann die Einträge schrittweise addiert.
Ich habe bislang zwei Ansätze, die zwar richtig addieren, aber nicht den ERROR ausgeben, wenn die Dimensionen nicht stimmen. Ich glaube, da stimmt irgendwas nicht mit der Bool-Variable "same", denn die hat scheinbar keine Auswirkung.
1. Versuch mit Unterteilung in Funktionen:
Java:
public class HelloWorld
{
public static void main(String[] args)
{
int [] a = {1, 2, 3, 4, 5};
int [] b = {5, 6, 7, 8, 9};
boolean same = false;
compareIfSameLength(same, a, b);
add(same , a, b);
}
public static boolean compareIfSameLength(boolean same, int [] a, int [] b) {
if (a.length == b.length)
same = true;
else
same = false;
return same;
}
public static void add (boolean same, int [] a, int [] b) {
if (same = true){
int [] c = new int [a.length];
for (int i=0; i < a.length; i++ ){
c[i] = a[i] + b[i];
}
for (int j=0; j < c.length; j++){
System.out.println(c[j]);
}
}
else { System.out.println("Error: Vectors do not have the same size."); }
}
}
2. Versuch ohne Funktionen (alles in der main):
Java:
public class addVector
{
public static void main(String[] args)
{
int [] a = {1, 2, 3, 4, 5};
int [] b = {5, 6, 7, 3, 8, 9};
int [] c = new int [a.length];
boolean same = false;
if (a.length == b.length)
same = true;
else
same = false;
if (same = true)
{
for (int i=0; i < a.length; i++ )
{
c[i] = a[i] + b[i];
}
for (int j=0; j < c.length; j++)
{
System.out.println(c[j]);
}
}
else { System.out.println("Error: Vectors do not have the same size."); }
}
}
Ich behaupte mal, eine geübter Java-Blick löst das hoffentlich recht schnell.
In jedem Fall vielen Dank!
greez Splinter