вівторок, 12 березня 2013 р.

Java. Прості задачі на true/false і не тільки.

1. Дано 2 прості числа. Повернути true, якщо одне більше, в одне - менше нуля. Виняток: якщо параметр "negative" є true - повернути true, якщо обидва числа менші за нуль.

Приклад виведення:
posNeg(1, -1, false) → true
posNeg(-1, 1, false) → true
posNeg(-4, -5, true) → true


Розв"язок:

public boolean posNeg(int a, int b, boolean negative) {
if (negative) {

return (a < 0 && b < 0);
} else {
return ((a < 0 && b > 0) || (a > 0 && b < 0));
}
}




2. Дано 2 прості додатні числа. Повернути більше з  них, якщо обидва числа знаходяться в межах 10...20, або повернути "0", якщо умова не виконується.

Приклад виведення:
max1020(11, 19) → 19
max1020(19, 11) → 19
max1020(11, 9) → 11



Розв"язок:

public int max1020(int a, int b) {
if (b > a) {
int temp = a;
a = b;
b = temp;
}
if (a >= 10 && a <= 20)
return a;
if (b >= 10 && b <= 20)
return b;
return 0;
}



3. Повернути true, якщо в заданому значенні String, "e" знаходиться між 1-м та 3-м символом.

Приклад виведення:
stringE("Hello") → true
stringE("Heelle") → true
stringE("Heelele") → false


Розв"язок:

public boolean stringE(String str) {
int e = 0;
for (int i=0; i<str.length(); i++)
if (str.charAt(i)=='e')
e++; 
return (e>= 1 && e<= 3);
}

4. Дано String та int n, повернути рядок, що починається з "0" елементу, а потім - кожен n-й елемент рядку.

Приклад виведення:
everyNth("Miracle", 2) → "Mrce"
everyNth("abcdefg", 2) → "aceg"
everyNth("abcdefg", 3) → "adg"


Розв"язок:

public String everyNth(String str, int n) {
String s = "";
for (int i = 0; i < str.length();) {
s += str.charAt(i);
i += n;
}
return s;
}

Немає коментарів:

Дописати коментар