Gå til innhold

Små til store bokstaver


Anbefalte innlegg

Skrevet

Jeg har en oppgave der vi skal lage et program der vi skal lese inn bokstaver fra det engelske alfabetet, og og skrive ut de tilsvarende i store bokstaver.

Jeg tror ikke vi har lov til å bruke to.UpperCase, for det har vi ikke hatt om ennå. Er det noen andre metoder?

Videoannonse
Annonse
Skrevet

Vel... andre metoder finnes nok, men det som popper inn i hodet mitt akkurat nå er svært tungvint. Høres merkelig ut om dere ikke kan bruke toUpperCase(), spør læreren/foreleseren om dette i hvert fall.

Skrevet

vet ikke hva det er meningen dere skal gjøre, men uansett så har jo hver bokstav/tegn en numerisk verdi(husker ikke verdiene til bokstaver), små bokstaver har en verdi, og store bokstaver har en tilsvarende, men høyere verdi, et eks: liten a har feks verdien 201, og da har feks stor A verdien 228(altså + 27), så da er det bare å ta inn den numeriske verdien av 'char' en og plusse på 27 for å få ut tilsvarende stor bokstav... veldig forenklet, er leeenge siden jeg har gjort dette. men, du skjønner sikkert pointet.

Skrevet

Lag en todimensjonal tabell som inneholder referanser til ascii verdier, slik som nedenfor:

 

{[a],[A]}

{,}

{[c],[C]}

{[d],[D]}

osv......

 

Dette er på ingen måte noen spesielt god måte å gjøre det på, men du unngår å bruke tuUpper

Skrevet
vet ikke hva det er meningen dere skal gjøre, men uansett så har jo hver bokstav/tegn en numerisk verdi(husker ikke verdiene til bokstaver), små bokstaver har en verdi, og store bokstaver har en tilsvarende, men høyere verdi, et eks: liten a har feks verdien 201, og da har feks stor A verdien 228(altså + 27), så da er det bare å ta inn den numeriske verdien av 'char' en og plusse på 27 for å få ut tilsvarende stor bokstav... veldig forenklet, er leeenge siden jeg har gjort dette. men, du skjønner sikkert pointet.

6907819[/snapback]

 

 

Skjønner pointet, men noen som kunne hjulpet meg med en start på dette?

Har prøvd litt nå, men er ikke så dreven ennå... :(

Skrevet

Kan legge ved et ekstremt enkelt eksempel... resten skjønner du vel selv nå :)

 

	public static void main(String[] args) {
 char bokstav = 'a';
 
 int bokstavtall = (int)bokstav;
 
 int bokstavtall2 = bokstavtall - 32;
 
 char bokstavut = (char)bokstavtall2;
 
 System.out.println("Stor bokstav:" + bokstavut);
}

Skrevet

Og et litt mere avansert eksempel

import static javax.swing.JOptionPane.*;
public class litenTilStor {        
   public static char litenTilStor(String str){
       char chr = str.charAt(0);
       int storChr = ((int)chr - 32);
       return (char)storChr;
   }
   public static void main(String[]args){
       String str = showInputDialog("Skriv en liten bokstav her");
       char b = litenTilStor(str);
       if (str.length() >1 || (int)b >90 || (int)b <65){
           showMessageDialog(null, "Ugyldig verdi er tastet inn ");
       }
       else showMessageDialog(null, "Den Store bokstaven er: " + b);
   }    
}

}

Skrevet (endret)

Fant en oversikt over begynnelsen på tallverdiene og binærverdiene på bokstaver og tall... her ser du fort sammenhengen så da er det bare å begynne :) hvis du vil være virkelig på lav-nivå kan du jo bruke binærverdiene :)

 

Tabell 1

Symbol--------Tallverdi--------- Binærverdi

 

a....................65....................???

b....................66....................???

. . .

A....................97....................???

B....................98....................???

. . .

0....................??....................???

1....................??....................???

2....................??....................???

 

 

(PS! å legge sammen binære tall er presis likt det å legge sammen tall i 10-tallssystemet)

Endret av rusolvan

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...