Avatar billede jakob_b_b Nybegynder
16. december 2003 - 12:32 Der er 10 kommentarer og
1 løsning

Sammenligning med String der er null

Har et indtastningsfelt (jTextField), hvor man indtaster tal. Har nu det problem, at tallet ikke må være 0 eller "".

Har skrevet:

    int tal = 0;
    tal = Integer.parseInt(jTextFieldIndtastTal.getText());
    if(tal >= 1) {
      TrukketTal = Integer.parseInt(jTextFieldIndtastTal.getText());
      listTal.addItem(jTextFieldIndtastTal.getText());
      jLabelRigtige.setText("");
    }
    else
    {
      System.out.println("forkert tal");
    }

Den melder fejl...? Det der oprindeligt står i JTextField er "".

Har også prøvet at teste med

    if(jTextField == ""){
        do something
    }
    else{
    System.Out.Println("fejl")
    }

den melder fejlen:

java.lang.NumberFormatException: For input string: ""
Avatar billede billen Nybegynder
16. december 2003 - 12:40 #1
Måske noget i denne her stil

if( jTextField.getText() != "" && jTextField.getText() != "0" )
{
  int tal = 0;
  tal = Integer.parseInt(jTextFieldIndtastTal.getText());
}
Avatar billede danny_k Nybegynder
16. december 2003 - 12:41 #2
if(jTextField == ""){
        do something
    }
    else{
    System.Out.Println("fejl")
    }

Kan JTextField være en String?
Skal du ikke bruge JTextField.paramString()
Avatar billede arne_v Ekspert
16. december 2003 - 12:43 #3
if( !jTextField.getText().equals("") && !jTextField.getText().equals("0") )
Avatar billede arne_v Ekspert
16. december 2003 - 12:44 #4
!= på String sammenligner objekt ikke indhold
Avatar billede jakob_b_b Nybegynder
16. december 2003 - 12:52 #5
fik dit til at virke arne_v :) ...skriv svar
Avatar billede jakob_b_b Nybegynder
16. december 2003 - 12:56 #6
Så man kan ikke sammenligne en streng på en måde så den checker om tallet er større end? String >= 100? Sikke meget man lære idag :)
Avatar billede jakob_b_b Nybegynder
16. december 2003 - 12:57 #7
andet end man kan parse den til int og sammenligne
Avatar billede arne_v Ekspert
16. december 2003 - 12:58 #8
svar
Avatar billede arne_v Ekspert
16. december 2003 - 12:59 #9
Du kan godt bruge:

s.compareTo("100") >= 0

men bemærk at for String så er "100" < "99".

Du er nødt til at konvertere til integer for at kunne sammenligne
numerisk hvor 100 > 99.
Avatar billede jakob_b_b Nybegynder
16. december 2003 - 13:09 #10
Hvordan siger man så det ikke må være et bogstav?
Avatar billede arne_v Ekspert
16. december 2003 - 13:13 #11
Jeg ville nok bruge en metode a la:

    private static boolean isNumber(String s) {
        for (int j = 0; j < s.length(); j++) {
            if (!Character.isDigit(s.charAt(j))) {
                return false;
            }
        }
        return true;
    }
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