Servus Community,
ich hatt letztlich schon mal ein Denkproblem mit
und
. Jetzt hab ichs schon wieder.
Folgender Code vergleicht die lexikographische Ordnung von arrays:
Richtiger Code:
falscher Code:
ich habe hier einen zweiten
Zweig statt dem
genommen.
Was ich ned kapier.
Wenn der erste
Zweig ned zutrifft, warum nimmt er dann ned automatisch den 2., also warum muss hier
stehen.
Immer dankbar für Rat.
Gruß
Münchner
ich hatt letztlich schon mal ein Denkproblem mit
Code:
true
Code:
false
Folgender Code vergleicht die lexikographische Ordnung von arrays:
Richtiger Code:
Java:
public class Lexico {
public static void main(String[] args) {
int[]a={1,2,3,4,5};
int[]b={2,3,4,5,6};
System.out.println("a kleiner b? "+compare(a,b));
}
public static boolean compare(int[]a, int[]b){
int minPos=0;
if(a.length<b.length)
minPos =a.length;
else
minPos=b.length;
for(int i=0;i<minPos;i++){
if(a[i]<b[i]){
return true;
}else if
(a[i]>b[i]){
return false;
}
}
return a.length<b.length;
}
}
falscher Code:
Java:
public class Lexico {
public static void main(String[] args) {
int[]a={1,2,3,4,5};
int[]b={2,3,4,5,6};
System.out.println("a kleiner b? "+compare(a,b));
}
public static boolean compare(int[]a, int[]b){
int minPos=0;
if(a.length<b.length)
minPos =a.length;
if(a.length>b.length)
minPos=b.length;
for(int i=0;i<minPos;i++){
if(a[i]<b[i]){
return true;
}else if
(a[i]>b[i]){
return false;
}
}
return a.length<b.length;
}
}
Code:
if
Code:
else
Was ich ned kapier.
Wenn der erste
Code:
if
Code:
else
Immer dankbar für Rat.
Gruß
Münchner