Advertisement
Guest User

Untitled

a guest
Dec 5th, 2019
141
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.78 KB | None | 0 0
  1.  
  2. import java.util.Scanner;
  3.  
  4.  
  5. public class Calculator{
  6.  
  7.     // Laskutoimitukset luokkavakioina...
  8.     public static final String SUMMAA = "add";
  9.     public static final String EROTA = "diff";
  10.     public static final String KERRO = "multi";
  11.     public static final String JAA = "div";
  12.     public static final String LOPETA = "quit";
  13.  
  14.     public static String[] tarkista(String userInput) {
  15.         /* Metodi tarkistaa, että käyttäjän antamassa syötteessä on ensimmäisenä validi komento
  16.         ja String-listan pituus on 3.
  17.         */
  18.         if (userInput == null){
  19.             return null;
  20.         }
  21.         String[] array = userInput.split(" ");
  22.         if ((array[0].equals(SUMMAA) || array[0].equals(EROTA) || array[0].equals(KERRO) ||
  23.         array[0].equals(JAA)) && array.length == 3){
  24.             return array;
  25.         } else {
  26.             return null;
  27.         }
  28.     }
  29.     public static void main(String[] args){
  30.         Scanner reader = new Scanner(System.in);
  31.         System.out.println("Hello! I am a simple calculator.");
  32.         boolean asking = true;
  33.        
  34.         while (asking == true){ // Pääsilmukka
  35.             System.out.println("Please, enter a command:");
  36.             String input = reader.nextLine();
  37.             // Tarkistetaan ensimmäiseksi onko syöte "quit", jos on luuppi päättyy
  38.             if (input.equals(LOPETA)){
  39.                 asking = false;
  40.             } else {
  41.                 // Kutsutaan metodia ja sijoitetaan metodin palauttama arvo muuttujaan
  42.                 String[] operation = tarkista(input);
  43.                 if (operation == null){ //Tarkistetaan onko muuttujan arvo null
  44.                     System.out.println("Error!");
  45.                 } else {
  46.                     // Muunnetaan listan toinen ja kolmas arvo int-tyyppisksi
  47.                     int num1 = Integer.parseInt(operation[1]);
  48.                     int num2 = Integer.parseInt(operation[2]);
  49.                     // Käydään läpi kaikki komento vaihtoehdot ja suoritetaan laskutoimitus sen mukaan
  50.                     if (operation[0].equals(SUMMAA)) {
  51.                         System.out.println(num1 + num2);
  52.                     }
  53.                     if (operation[0].equals(EROTA)) {
  54.                         System.out.println(num1 - num2);
  55.                     }
  56.                     if (operation[0].equals(KERRO)) {
  57.                         System.out.println(num1 * num2);
  58.                     }
  59.                     if (operation[0].equals(JAA)) {
  60.                         if (num2 != 0){ // Tarkistetaan ettei jakolaskun viimeinen luku ole nolla
  61.                             System.out.println((double)num1 / num2);
  62.                         } else System.out.println("Error!");
  63.                     }
  64.                 }
  65.             }
  66.         }
  67.     }      
  68. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement