#java
Вопрос:
я новичок в java, и я создал метод, который проверяет, имеет ли число следующие цифры, что 1 является нечетным или четным, а следующая цифра противоположна. например, если число равно 12121, метод должен возвращать значение true;
вот код
public static boolean isMix(int x)
{
String s = Integer.toString(x);
int counter = 0;
for (int i = 0, j = 1; i < s.length() || j < s.length(); i , j )
{
if (Integer.parseInt("" s.charAt(i)) % 2 == 0amp;amp; Integer.parseInt("" s.charAt(j)) % 2 == 1
|| (Integer.parseInt("" s.charAt(i)) % 2 == 1 amp;amp; Integer.parseInt("" s.charAt(j)) % 2 == 0))
counter ;
System.out.println(counter);
}
if (s.length() == counter)
return true;
return false;
}
Ответ №1:
Вы можете просто вернуть false
, если четность текущей цифры совпадает с предыдущей цифрой.
public static boolean isMix(int x){
String s = Integer.toString(x);
for(int i = 1; i < s.length(); i ){
if(Character.getNumericValue(s.charAt(i)) % 2
== Character.getNumericValue(s.charAt(i - 1)) % 2) return false;
}
return true;
}