Advertisement
jaVer404

level15.lesson12.home01(type checing)

Jul 15th, 2015
351
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.40 KB | None | 0 0
  1. package com.javarush.test.level15.lesson12.home01;
  2.  
  3.  
  4. import java.io.BufferedReader;
  5. import java.io.IOException;
  6. import java.io.InputStreamReader;
  7. import java.util.ArrayList;
  8.  
  9. /* Разные методы для разных типов
  10. 1. Считать с консоли данные, пока не введено слово "exit".
  11. 2. Для каждого значения вызвать метод print. Если значение:
  12. 2.1. содержит точку '.', то вызвать метод print для Double;
  13. 2.2. больше нуля, но меньше 128, то вызвать метод print для short;
  14. 2.3. больше либо равно 128, то вызвать метод print для Integer;
  15. 2.4. иначе, вызвать метод print для String.
  16. */
  17.  
  18. public class Solution {
  19.     public static void main(String[] args) throws IOException {
  20.         //напиште тут ваш код
  21.         BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
  22.         ArrayList<Object> myObjects = new ArrayList<Object>();
  23.         String tempString;
  24.         short shortValue;
  25.         Double doubleValue;
  26.         Integer intValue;
  27.         while (true) {
  28.             tempString = reader.readLine();
  29.             if (tempString.equals("exit")) {
  30.                 break;
  31.             }
  32.             if (isItDouble(tempString)&&containsDot(tempString)) {
  33.                 doubleValue = Double.parseDouble(tempString);
  34.                 myObjects.add(doubleValue);
  35.             }
  36.             else if (isItShort(tempString)) {
  37.                 shortValue = Short.parseShort(tempString);
  38.                 myObjects.add(shortValue);
  39.             }
  40.             else if (isItInteger(tempString)) {
  41.                 intValue = Integer.parseInt(tempString);
  42.                 myObjects.add(intValue);
  43.             }
  44.             else {
  45.                 myObjects.add(tempString);
  46.             }
  47.         }
  48.  
  49.         for (Object o : myObjects) {
  50.             if (o instanceof Double) {
  51.                 print(((Double) o));
  52.             }
  53.             if (o instanceof Short) {
  54.                 print(((Short) o));
  55.             }
  56.             if (o instanceof Integer) {
  57.                 print((Integer) o);
  58.             }
  59.             if (o instanceof String) {
  60.                 print((String)o);
  61.             }
  62.         }
  63.  }
  64.  
  65.     public static boolean containsDot(String inputString){
  66.         char[]tempChar = inputString.toCharArray();
  67.         boolean flag = false;
  68.         for (char myChar : tempChar) {
  69.             if (myChar == '.') {
  70.                 flag=true;
  71.                 break;
  72.             }
  73.         }
  74.         return flag;
  75.     }
  76.  
  77.     public static boolean isItDouble (String inputString) {
  78.         boolean flag = true;
  79.         try
  80.         {
  81.             Double myDouble = Double.parseDouble(inputString);
  82.         }
  83.         catch (NumberFormatException e) {
  84.             flag = false;
  85.         }
  86.         return flag;
  87.     }
  88.  
  89.     public static boolean isItInteger (String inputString) {
  90.         boolean flag = false;
  91.         int tempInteger;
  92.         try
  93.         {
  94.             tempInteger = Integer.parseInt(inputString);
  95.             if(tempInteger > 0 && tempInteger < 128) {
  96.             }
  97.             else {
  98.                 flag = true;
  99.             }
  100.             return flag;
  101.         }
  102.         catch (NumberFormatException e) {
  103.             return flag;
  104.         }
  105.     }
  106.  
  107.     public static boolean isItShort (String inputString) {
  108.         boolean flag = true;
  109.         try {
  110.             int tempValue = Integer.parseInt(inputString);
  111.             if (tempValue > 0&&tempValue < 128) {
  112.                 return flag;
  113.             }
  114.             else {
  115.                 flag = false;
  116.                 return flag;
  117.             }
  118.         }
  119.         catch (NumberFormatException e) {
  120.             flag = false;
  121.         }
  122.         return flag;
  123.     }
  124.  
  125.     public static void print(Double value) {
  126.         System.out.println("Это тип Double, значение " + value);
  127.     }
  128.  
  129.     public static void print(String value) {
  130.         System.out.println("Это тип String, значение " + value);
  131.     }
  132.  
  133.     public static void print(short value) {
  134.         System.out.println("Это тип short, значение " + value);
  135.     }
  136.  
  137.     public static void print(Integer value) {
  138.         System.out.println("Это тип Integer, значение " + value);
  139.     }
  140. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement