ginnis Skrevet 24. november 2012 Del Skrevet 24. november 2012 På forhånd, beklager mitt klønete java-språk...Er temmelig ny i gamet... Driver på med et program i Java... En enkel kalkulator, med tallene 0-9 og funksjonene +,-,* og /. Programmet skal be bruker taste inn tall1, regnefunksjon, og tall 2, og så blir det regna sammen. Det skal ikke gå an å dele på 0. Importerer klassene : StreamTokenizer, BufferedReader og InputStreamReader. En av funksjonene skal være at om en taster bokstaver i steden for tall, så vil ikke neste kommando starte før en har tasta riktig. (V.h.a st.nval), dette er jo en fin måte å sikre at det blir tasta inn innen for det en ønsker, st.nval ved tall og st.sval ved tekst/bokstaver). Problemet: er det en slik funksjon for kun TEGN, som f.eks. + - * /?? har foreløbig lagt inn en feilkode her, System.error... eller exit. men da stopper jo programmet....noen forslag? Lenke til kommentar
SniKaZ Skrevet 25. november 2012 Del Skrevet 25. november 2012 For det første der, at du vil finne ut om det han har skrevet faktisk er et tall kan du jo første opprette en string tall1 hvor du skriver inn tall nr 1. Så konverterer du dette om til en double. Om dette går, gå videre, om dette ikke går start på nytt, altså en throw exception funksjon av noe slag. Det med tegn, er ikke definert en egen funksjon for tegn, men du kan bruke char. Se litt på Ascii tabellen, der vil du se hva de forskjelige kodene er. F.eks "/" er det samme som char 47. Lager du en do/while løkke så kan du la den kjøre så lenge tegn er ulik / eller * eller + eller - Etterpå kan du lage ei for løkke, evt if setning for å regne ut regnestykket ditt. Lenke til kommentar
ginnis Skrevet 25. november 2012 Forfatter Del Skrevet 25. november 2012 Tusen takk for idèen Simen I`m on it Lenke til kommentar
SniKaZ Skrevet 25. november 2012 Del Skrevet 25. november 2012 Tusen takk for idèen Simen I`m on it Bare hygelig Husk også på at en double har en maks og en min value sånn at du ikke går utenfor det. Max value er (2-2-52)*21023 og min value er 2-1074. Kan vere nyttig om du vil legge inn ei sperre her også. Har du lært deg override foresten? gjør ting endel lettere ^^ Lenke til kommentar
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå