2013-10-07 6 views
0

Я пытаюсь проверить ошибку, которая определяет, являются ли все элементы массива целыми числами, но я застрял в течение долгого времени. любые идеи о том, как начать, были бы полезны.Как проверить, является ли каждый элемент массива строк целым?

Scanner scan = new Scanner(System.in); 

System.out.print("Please list at least one and up to 10 integers: "); 
String integers = scan.nextLine(); 

String[] newArray = integers.split(""); 
+0

возможный дубликат: http://stackoverflow.com/questions/5439529/determine-if-a-string-is-an-integer-in- java – Ashish

+0

Пробел, а затем что-то вроде http://stackoverflow.com/questions/8391979/does-java-have-a-int-tryparse-that-doesnt-throw-an-exception-for-bad-data –

+0

в чем Кстати, я бы использовал foreach? –

ответ

0

Использование строки вы сделали со сканером, петлей над космическими разделителями списка и проверить, что каждый элемент представляет собой целое число. Если все они пройдут, верните истину; в противном случае верните false.

Кредит для проверки isInteger идет в Determine if a String is an Integer in Java

public static boolean containsAllIntegers(String integers){ 
    String[] newArray = integers.split(" "); 
    //loop over the array; if any value isnt an integer return false. 
    for (String integer : newArray){ 
     if (!isInteger(integer)){ 
     return false; 
     } 
    } 
    return true; 
} 

public static boolean isInteger(String s) { 
    try { 
     Integer.parseInt(s); 
    } catch(NumberFormatException e) { 
     return false; 
    } 
    // only got here if we didn't return false 
    return true; 
} 
+0

Это очень полезно; Спасибо! –

+0

Это нехорошо ... Ловить исключения для каждого элемента массива, который не является числом, является плохим. Вместо этого используйте int.TryParse – Afra

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