Avatar billede playmo Nybegynder
18. december 2001 - 19:38 Der er 8 kommentarer og
1 løsning

Hvad er der galt her!!!

Hvis der er nogen der kan se hvad der er galt her så sig lige til ikke, super duper!

public class Testex
{    public static void main(String[] args)
    {       
            int test = 3;
   
            try {
                      Integer.parseInt(test);   
                } catch ( NumberFormatException e ) {
                    System.out.println(\"DU SKAL INDTASTE EN INT VÆRDI\");
                }
    }
}


Når man kompiler ser det sådan ud:

Testex.java:7: cannot resolve symbol
symbol  : method parseInt  (int)
location: class java.lang.Integer
                      Integer.parseInt(test);   
                                      ^
1 error
Avatar billede soreno Praktikant
18. december 2001 - 19:42 #1
parseInt tager ikke imod en int med en String. 
Avatar billede soreno Praktikant
18. december 2001 - 19:44 #2
med = men
Avatar billede magoo20000 Nybegynder
18. december 2001 - 19:46 #3
Den statiske metode parseInt(String s) tager altså ikke imod en int, men derimod en streng! Fx.
.......
String s = \"22\";
int x = 0;
x = Integer.parseint(s);
......
Strengen \"22\" bliver nu \'omdannet\' til en int, som har værdien 22!

Avatar billede magoo20000 Nybegynder
18. december 2001 - 19:47 #4
parseint = parseInt
Avatar billede jakoba Nybegynder
18. december 2001 - 19:47 #5
            String test = \"3\";  // så skulle den du
Avatar billede playmo Nybegynder
18. december 2001 - 21:54 #6
Problemet er jeg vil gerne have mit program til at smide den exception hvis den modtager en streng... Altså:
Hvis en person skal indtaste et nummer (en int værdi) og så idioten kommer til at trykke på et bogstav så skal programmet melde fejl, smide en exception i hovedet på mig!!
Avatar billede jakoba Nybegynder
18. december 2001 - 22:31 #7
så er det vel snarere:

public boolean validDigit( char bgst ) {
    if ( bgst < \'0\' || bgst > \'9\' ) {
        return false
    } else {
        return true
    }
}; //endfunction

du skal bruge.

mvh JakobA
Avatar billede lerchedahl Nybegynder
20. december 2001 - 22:40 #8
Du bliver nødt til at lade brugeren indtaste en streng, og så senere validere om denne streng repræsenterer et tal (med f.eks. parseInt). Hvis du tager input i et JTextField, kan du skrive en nedarvning, der kun accepterer tal. Se

http://java.sun.com/j2se/1.3/docs/api/javax/swing/JTextField.html

I dit tilfælde, ville InsertString se således ud:

public void insertString(int offs, String str,
                        AttributeSet a)
                    throws BadLocationException
{
  if (str == null) {
    return;
  }
  try {
    int tal = Integer.parseInt( str );
    super.insertString(offs, str, a);
  }
  catch( IllegalNumberForamtException e ) {}
}

Hvis parseInt kaster en exception, bliver indsættelsen aldrig udført. Det vil brugeren nok kunne forstå.
Avatar billede lerchedahl Nybegynder
20. december 2001 - 22:41 #9
Det hedder da vist NumberFormatException, og ikke
IllegalNumberForamtException...
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

IT-JOB

IT-Universitetet i København

CIO

Forsvarsministeriets Materiel- og Indkøbsstyrelse

Nye kolleger søges til IT Stab i Forsvaret