Попытка подсчитать количество типов данных в строкеJAVA

Программисты JAVA общаются здесь
Anonymous
Попытка подсчитать количество типов данных в строке

Сообщение Anonymous »

Итак, на входе строка содержит различные типы данных. По сути, это струна, int и float. Я проверяю типы через float.parsefloat () и integer.parseint () . integer.parseint () работает правильно, но float.parsefloat () включает в себя все цифры, которые проверены. Как избежать этого?
Привет, мое 50 имя 4.5 - Джеймс, мне 20 лет, и у меня есть 5,7 монет < /li>
float 4 < /li>
Int 2 < /li>
String 12 < /li>
< /ul>
public class TypeCountString {
public static void countTypeInString(String string){
String[] value = string.split(" ");
float ifFloat;
int ifInt;
String ifString;
int counter = 0;
// count Floats
for (String i: value){
try{
ifFloat = Float.parseFloat(i);
counter++;
continue;
} catch (NumberFormatException e){
}
}
System.out.println("Float " + counter);

//count ints
counter = 0;
for (String i: value){
try{
ifInt = Integer.parseInt(i);
counter++;
continue;
} catch (NumberFormatException e){
}

}
System.out.println("Int " + counter);

//counts strings
String stringOfStrings = string.replaceAll("[0-9.]","");
stringOfStrings = stringOfStrings.replaceAll(" "," ");
String[] value2 = stringOfStrings.split(" ");
System.out.println("String " + value2.length);

}

public static void main(String[] args) {
String string = "Hello my 50 name 4.5 is James, I 20 years old and i have 5.7 coins";
System.out.println(string);
countTypeInString(string);
}
}


Подробнее здесь: https://stackoverflow.com/questions/726 ... n-a-string

Вернуться в «JAVA»