-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathDifferentTypes.java
More file actions
80 lines (65 loc) · 3.67 KB
/
DifferentTypes.java
File metadata and controls
80 lines (65 loc) · 3.67 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
/*Разные методы для разных типов В этой задаче тебе нужно:
Считывать с консоли данные, пока не будет введено слово "exit".
Для каждого значения, кроме "exit", вызвать метод print().
Если значение: содержит точку '.', вызвать метод print() для Double;
больше нуля, но меньше 128, вызвать метод print() для short;
меньше либо равно нулю или больше либо равно 128, вызвать метод print() для Integer;
иначе — вызвать метод print() для String.
Требования:
1)Программа должна считывать данные с клавиатуры.
2)Программа должна прекращать считывать данные с клавиатуры после того, как введена строка "exit".
3)Если введенная строка содержит точку("."), и ее можно корректно преобразовать в число типа Double - должен быть вызван метод print(Double value).
4)Если введенная строка может быть корректно преобразована в число типа short и полученное число больше 0, но меньше 128 - должен быть вызван метод print(short value).
5)Если введенная строка может быть корректно преобразована в число типа Integer и полученное число меньше или равно 0 или больше или равно 128 - должен быть вызван метод print(Integer value).
6)Во всех остальных случаях должен быть вызван метод print(String value).*/
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.*;
import java.util.*;
/*
Разные методы для разных типов
*/
public class DifferentTypes {
public static void main(String[] args) throws IOException, NumberFormatException{
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
while(true){
String s = reader.readLine();
if(s.equals("exit")) break;
if(s.contains(".")){
try{
double num = Double.parseDouble(s);
print(num);}
catch(Exception e){
print(s);}
}
else{
try{
int num;
num = Integer.parseInt(s);
if(num > 0 && num < 128){
print((short)num);
}
else{
print((Integer)num);
}
}
catch(Exception e){
print(s);
}
}
}
}
public static void print(Double value) {
System.out.println("Это тип Double, значение " + value);
}
public static void print(String value) {
System.out.println("Это тип String, значение " + value);
}
public static void print(short value) {
System.out.println("Это тип short, значение " + value);
}
public static void print(Integer value) {
System.out.println("Это тип Integer, значение " + value);
}
}