Avatar billede aslan Nybegynder
24. april 2002 - 22:46 Der er 14 kommentarer og
1 løsning

tjecke efter små bogstaver?

Jeg har lavet en metode der returnere sandt eller falsk afhængig om strengen har små bostaver i sig men den giver fejl?

    boolean checkKapLetters(String kode)
    {
        String nyOrd="";

        for(int i=0;i<3;i++)
        {
            nyOrd += kode.charAt(i);

        }

        return Character.isUpperCase(nyOrd);
    }
Avatar billede tax Nybegynder
24. april 2002 - 22:50 #1
check på char værdien:

I c vil det se nogenlunde således ud

if ((testchar >= 'a')(testchar <= 'a')) return ...
else return ...
Avatar billede tax Nybegynder
24. april 2002 - 22:51 #2
det sidste a skulle være et lille z
Avatar billede aslan Nybegynder
24. april 2002 - 22:52 #3
boolean checkKapLetters(String kode)
{
    char tmp;

    for(int i=0;i<kode.length();i++)
    {
        tmp = kode.charAt(i);
        if( Character.isLowerCase(tmp) )
            return false;
    }

        return true;
}
Avatar billede aslan Nybegynder
24. april 2002 - 22:56 #4
sorry..
Avatar billede jakoba Nybegynder
24. april 2002 - 22:59 #5
var det ikke nemmere uden en løkke?

boolean checkKapLetters(String kode)
{
    String kodeUpper = kode.toUpperCase();
    if ( kodeUpper.equals( kode ) ) {
        // det ændrede ikke noget så alt er uppercase
        return true;
    } else {
        // noget blev ændret fra lower til upper
        return false
    }
} //end checkKapLetters.

mvh JakobA
Avatar billede aslan Nybegynder
24. april 2002 - 23:11 #6
Ok den var godt nok kreativ.... :) ikke din første gang med java vel?:)
Avatar billede jakoba Nybegynder
24. april 2002 - 23:26 #7
Ha...  Her er den *rigtig* blærede:

boolean checkKapLetters(String kode)
{
    return ( kode == kode.toUpperCase() );
} //end checkKapLetters.

så kan du tygge på den.

mvh JakobA
Avatar billede aslan Nybegynder
24. april 2002 - 23:28 #8
Bare et lille spørgsmål hvor hvorfor kan man ikke initilisere char på denne måde: char tmp=""; ?
Avatar billede jakoba Nybegynder
24. april 2002 - 23:34 #9
fordi du ikke giver den et bogstav, men en tom streng.
    char tmp = ' '; // her får den et blanktegn
Avatar billede aslan Nybegynder
24. april 2002 - 23:39 #10
ahh takker:)
Avatar billede disky Nybegynder
25. april 2002 - 00:52 #11
jakoba:

den er ikke blæret den er besværlig at tyde.

Det er meget dårlig kotume at lave tildeling samtidigt med et reelt check.
Det gør koden mindre læsbar.
Avatar billede jakoba Nybegynder
25. april 2002 - 00:58 #12
Jeg sagde ikke den var god, bare blæret :-))
Avatar billede jkrag Nybegynder
25. april 2002 - 01:05 #13
disky -> Der bliver da ikke lavet nogen tildeling. Så jeg synes det er en simpel og gennemskuelig løsning, og iøvrigt nøjagtig som jeg selv ville lave den.

aslan -> char er i java en tal type (16 bit unsigned så vidt jeg husker), og er overhovedet ikke kompatibel med stenge. Så char tmp = ""; giver ingen mening. Det gør char tmp = 42; derimod glimrende.
Avatar billede jakoba Nybegynder
25. april 2002 - 01:50 #14
faktisk så blæret at den slet ikke duer

boolean checkKapLetters(String kode) {
    return kode.equals( kode.toUpperCase() );
} //end checkKapLetters.

men såvidt jeg kan læse i API'en burde det da ellers være nok at sammenligne referencerne
Avatar billede jkrag Nybegynder
25. april 2002 - 08:10 #15
Ups. Den havde jeg lige overset i koden. Selvfølgelig skal det være equals.
== sammenligner object-referencer, og objektet kode er iihvertfald ikke det samme object som returværdien fra metoden toUpperCase. Så den vil altid give false.
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