Avatar billede touel Nybegynder
13. september 2005 - 23:30 Der er 3 kommentarer og
1 løsning

lave lommeregner

Kunne nogen lave en simpel lommeregner i java. Jeg har i et stykke tid siddet og prøvet på at lave en, men kunne ikke komme videre. Mærkelig nok har jeg slettet filen, selvom jeg ville ha arb videre på den. Jeg forestiller mig, at der anvendes InputStreamReader til at kunne læse fra brugeren, og evt. tokens til at gemme de særskilte værdier i. Denne simpel lommeregner køres i dos, og kører indtil man ex trykker på n. Husk at den skal være simpel.
Avatar billede touel Nybegynder
14. september 2005 - 17:47 #1
Nu er det ikk fordi at jeg skal aflevere den som opgave i skolen. Jeg ville bare selv lave en simpel lomme regner i java, men har haft problemer med at kunne behandle 2 tal, hvor der i mellem dem har enten stået +, - , * , / ... jeg har prøvet både med arraylist og med tokens. Så et lille eks fra nogen til inspiration ville være godt
Avatar billede kalp Novice
14. september 2005 - 20:01 #2
Hvis du blot skal kunne udføre en af disse funktioner +, - , * , /  med to indtastede tal så er det simpelt nok.
Avatar billede arne_v Ekspert
14. september 2005 - 20:21 #3
lille eksempel du kan lege med:

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class Calc {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        System.out.print("Indtast tal operator tal: ");
        String expr = br.readLine();
        Matcher m = Pattern.compile("([0-9]+)([+-])([0-9]+)").matcher(expr);
        if(m.find()) {
            int num1 = Integer.parseInt(m.group(1));
            String op = m.group(2);
            int num2 = Integer.parseInt(m.group(3));
            System.out.print("Resultat er: ");
            if(op.equals("+")) {
                System.out.println(num1 + num2);
            } else if(op.equals("+")) {
                System.out.println(num1 + num2);
            }
        } else {
            System.out.println("Kan ikke forstå: " + expr);
        }
    }
}
Avatar billede arne_v Ekspert
29. september 2005 - 19:54 #4
OK ?
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

BEC Financial Technologies

Product owner (senior) - Data & Analytics

BEC Financial Technologies

Java software engineer (regular)

Netcompany A/S

IT Consultant

Forsvarsministeriets Materiel- og Indkøbsstyrelse

Softwareudvikler til Cyberdivisionens HR-Systemer og Applikationer