Помогите пожалуйста с решением.
Получается в этом куске кода у меня идет цикл с проверкой есть ли в строке "."
for (char inputChar : chars) {
if (inputChar == point) {
getDouble(input);
break;
}
else if (inputChar != point) { // если сторка не содержит '.' пробуем получить Integer
getInt(input);
break;
}
}
так вот если точка идет в начале строки то Double распознается,но если нет то цикл переходит на не нужный мне метод.
Как здесь правильно сделать проверку на наличие "."?package com.javarush.task.task15.task1519;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
/*
Разные методы для разных типов
*/
public class Solution {
public static void main(String[] args) throws Exception {
//напиште тут ваш код
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
while (true) {
String input = reader.readLine();
if (input.equals("exit")) {
break;
}
char[] chars = input.toCharArray(); // массив символов входной строки консоли
char point = '.';
for (char inputChar : chars) {
if (inputChar == point) {
getDouble(input);
break;
}
else if (inputChar != point) { // если сторка не содержит '.' пробуем получить Integer
getInt(input);
break;
}
}
}
}
/**
* Метод для вывода Double на экран.
* В случае исключения выводит результат- String
* @param input
*/
public static void getDouble(String input) {
try {
Double r = Double.parseDouble(input);
print(r);
} catch (Exception e) {
print(input);
}
}
/**
* Метод для вывода Integer на экран
* в случае если значение меньше 128
* обращается к методу getShort()
* @param input
*/
public static void getInt(String input) {
try {
Integer r = Integer.parseInt(input);
if (r > 128) {
print(r);
} else if (r <= 128) {
getShort(input);
}
} catch (Exception e) {
print(input);
}
}
public static void getShort(String input) {
try {
Short r = Short.parseShort(input);
print(r);
} catch (Exception e) {
print(input);
}
}
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);
}
}