2014-10-21 3 views
-6

Эй, ребята, надеемся, что вы сможете мне помочь. Am пытается получить все целые числа из этого кода, оставив только буквы позади, и я серьезно потерял здесьЦелые числа из строк

public class Tie { 

    public static void main(String agrs[]){ 
     String fr = "4544FF"; 
     int yu = fr.length(); 
     System.out.print(yu); 

    } 

} 
+5

Это ... не похоже на большую часть усилий. что ты уже испробовал? –

+1

Как получить длину и распечатать ее удаленно выполнить то, что вы пытаетесь сделать? –

+0

Можете ли вы уточнить? Вы имеете в виду, что вход «4544FF», а выход должен быть «FF»? Или что вы имеете в виду? –

ответ

-1

попробовать этот код

import java.util.ArrayList; 
import java.util.List; 
import java.util.regex.Matcher; 
import java.util.regex.Pattern; 

public class Tie { 

    public static void main(String agrs[]){ 
     Tie tie = new Tie(); 
     String fr = "4544FF"; 
     char[] strings = fr.toCharArray(); 
     List<Integer>integers = new ArrayList<Integer>(); 
     for(int i=0;i<strings.length;i++){ 
      if(tie.validationNumber(strings[i]+"")){ 
       integers.add(Integer.parseInt(strings[i]+"")); 
      } 
     } 
     for(Integer i:integers){ 
      System.out.println(i); 
     } 
    } 

    public boolean validationNumber(String s){ 

     Pattern pattern = Pattern.compile("\\d+"); 
     Matcher matcher = pattern.matcher(s); 

     if (matcher.matches()) { 
      return true; 
     } 
     return false; 
    } 
} 
1

Если вы только стремиться удалить числовые цифры из строки, используйте регулярное выражение и заменить, с регулярным выражением ' d 'вы можете фильтровать все цифры.

String fr = "4544FF"; 
fr = fr.replaceAll("\\d",""); 
//result should be that fr now is contains only "FF", because the digits have bee replaced with nothing. 

Я не тестировал его, но он должен работать, если мой небольшой опыт с регулярным выражением служит мне правильным.

0

Что вы можете сделать, это использовать этот метод подстроку (интермедиат старт, внутр окончательный).

public static void main(String agrs[]){ 
    String fr = "4544FF"; 

    String numbers= fr.substring(0, 4); 
    String letters= fr.substring(4); 

    System.out.println("It will shows 4544" + numbers); 

    System.out.println("It will shows FF" + letters); 

    int convertNumber = Integer.parseInt(numbers); //Convert to int 

    System.out.println("" +convertNumber); 

} 

Он покажет вам только номер 4544.

Я надеюсь, что решить вашу проблему.

Смежные вопросы