Avatar billede woodbase Nybegynder
15. december 2003 - 23:10 Der er 16 kommentarer og
1 løsning

Sammeligning af bogstaver.

Hvordan sammenligner jeg (eksempelvis) a og b?

Eks. med integers:
if (1 < 2)
max = 2;

Hvordan får jeg:

if (a < b)
max = b;

?????
Avatar billede arne_v Ekspert
15. december 2003 - 23:13 #1
if ('a' < 'b')
max = b;

bør virke.
Avatar billede arne_v Ekspert
15. december 2003 - 23:13 #2
For char's ikke for String's - der skal du nok bruge compareTo !
Avatar billede labanos Nybegynder
16. december 2003 - 08:22 #3
if (a.compareTo(b) > 0)
max = b;

Compares two strings lexicographically. The comparison is based on the Unicode value of each character in the strings. The character sequence represented by this String object is compared lexicographically to the character sequence represented by the argument string. The result is a negative integer if this String object lexicographically precedes the argument string. The result is a positive integer if this String object lexicographically follows the argument string. The result is zero if the strings are equal; compareTo returns 0 exactly when the equals(Object) method would return true.
Avatar billede woodbase Nybegynder
16. december 2003 - 12:42 #4
Kan man lave en bubbleSort med Strings?

Skal sammenligne to arrays: skytte[i][j] > skytte[i+1][j]
Avatar billede arne_v Ekspert
16. december 2003 - 12:48 #5
Du kan godt lave bobble sort af et String array.

Men hvorfor ikke bruge Java's indbyggede sort funktioner ?
Avatar billede woodbase Nybegynder
16. december 2003 - 12:51 #6
Simpelt: Kender dem ikke.
Er ny i java....
Avatar billede arne_v Ekspert
16. december 2003 - 12:57 #7
Du kan simplethen kalde:

Arrays.sort(stringarray);

og så er det sorteret !
Avatar billede woodbase Nybegynder
16. december 2003 - 12:58 #8
???? Det er løgn! hahaha... Hold kæ.. hvor har jeg brugt tid på det... Prøver det lige.
Avatar billede arne_v Ekspert
16. december 2003 - 13:01 #9
Du skal have en:

import java.util.*;

for at kunne bruge Arrays klassen.

Men ja det er så simpelt.
Avatar billede woodbase Nybegynder
16. december 2003 - 13:03 #10
Ja kan godt se det nu... Men den drille lidt, da det er et dobbelt array.
Avatar billede arne_v Ekspert
16. december 2003 - 13:04 #11
Du har et 2 dimensionelt array hvor du skal sortere efter en af kolonnerne ?
Avatar billede woodbase Nybegynder
16. december 2003 - 13:05 #12
Ja. Det drejer sig om nogle navne.
En kolonne med efternavne og en med fornavne.
Skal jeg definere dem som to arrays istedet for et dobbelt?
Avatar billede woodbase Nybegynder
16. december 2003 - 13:07 #13
Hmm... Måske skulle man huske at java er case sensitive... ;)
Avatar billede arne_v Ekspert
16. december 2003 - 13:08 #14
Prøv med:

Arrays.sort(str2darray, new Comp2D());

...

class Comp2D implements Comparator {
  public int compare(Object o1, Object o2) {
      String[] s1 = (String[])o1;
      String[] s2 = (String[])o2;
      return s1[1].compareTo(s2[1]);
  }
  public boolean equals(Object obj) {
      return false;
  }
}

for at sortere efter anden kolonne.

[utestet !!!!]
Avatar billede woodbase Nybegynder
16. december 2003 - 13:11 #15
Fik - vist - den første til at virke... Men hvordan udskrive jeg det sorterede?
Ved maskinen at det er sorteret og kan udskrive det ved at løbe igennem en løkke?
Avatar billede ttn- Nybegynder
16. december 2003 - 17:02 #16
Meget letter end det der!

Fx:
String k = k
if(k.equals("k")
{
Avatar billede ttn- Nybegynder
16. december 2003 - 17:04 #17
hov... videre:

Fx:
String k = "k"
if(k.equals("k")
{
  ...
}

eller bedre endnu - den tager ikke højde for stort eller lille bogstav:

String k = "k"
if(k.equalsIgnoreCase("k")
{
  ...
}
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester