Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.Scanner;
- public class Calculator{
- // Laskutoimitukset luokkavakioina...
- public static final String SUMMAA = "add";
- public static final String EROTA = "diff";
- public static final String KERRO = "multi";
- public static final String JAA = "div";
- public static final String LOPETA = "quit";
- public static String[] tarkista(String userInput) {
- /* Metodi tarkistaa, että käyttäjän antamassa syötteessä on ensimmäisenä validi komento
- ja String-listan pituus on 3.
- */
- if (userInput == null){
- return null;
- }
- String[] array = userInput.split(" ");
- if ((array[0].equals(SUMMAA) || array[0].equals(EROTA) || array[0].equals(KERRO) ||
- array[0].equals(JAA)) && array.length == 3){
- return array;
- } else {
- return null;
- }
- }
- public static void main(String[] args){
- Scanner reader = new Scanner(System.in);
- System.out.println("Hello! I am a simple calculator.");
- boolean asking = true;
- while (asking == true){ // Pääsilmukka
- System.out.println("Please, enter a command:");
- String input = reader.nextLine();
- // Tarkistetaan ensimmäiseksi onko syöte "quit", jos on luuppi päättyy
- if (input.equals(LOPETA)){
- asking = false;
- } else {
- // Kutsutaan metodia ja sijoitetaan metodin palauttama arvo muuttujaan
- String[] operation = tarkista(input);
- if (operation == null){ //Tarkistetaan onko muuttujan arvo null
- System.out.println("Error!");
- } else {
- // Muunnetaan listan toinen ja kolmas arvo int-tyyppisksi
- int num1 = Integer.parseInt(operation[1]);
- int num2 = Integer.parseInt(operation[2]);
- // Käydään läpi kaikki komento vaihtoehdot ja suoritetaan laskutoimitus sen mukaan
- if (operation[0].equals(SUMMAA)) {
- System.out.println(num1 + num2);
- }
- if (operation[0].equals(EROTA)) {
- System.out.println(num1 - num2);
- }
- if (operation[0].equals(KERRO)) {
- System.out.println(num1 * num2);
- }
- if (operation[0].equals(JAA)) {
- if (num2 != 0){ // Tarkistetaan ettei jakolaskun viimeinen luku ole nolla
- System.out.println((double)num1 / num2);
- } else System.out.println("Error!");
- }
- }
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement