Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.company;
- public class Task1FromExamples {
- int wheels(int A, int B) { /* саме така функція (на мові ооп + java == метод) потрібна для рішення, бо в завданні буде
- як на кодварсі - заповнити логікою функцію. При цьому створювати клас, або робити щось ще зовні ффункціїї - не треба. */
- return A * 2 + B * 4;
- }
- public static void main(String[] args) {
- Task1FromExamples summ = new Task1FromExamples();
- System.out.println("Кількість колес у всіх ТР. засобів: " + summ.wheels(5, 10));
- } // було пропущено дужку
- /* Рішення2:
- public class Task1FromExamples1 {
- public static void main(String[] args) {
- int a = 15;
- int b = 25;
- System.out.println("Сумарна кількість коліс: "+(a*2+b*4));
- }*/
- }
- //2. Напишіть функцію, яка приймає на вхід 3 числа, і повертає 1, якщо їх сума
- //знаходиться в діапазоні від 0 до 100, інакше повертає найбільше серед них, - включно вважаю.
- //або -1, якщо вони всі рівні.
- class Task2FromExamples { /* на вступному не треба створювати нічого зовні функції - тільки написати код в неї */
- int a;
- int b;
- int c;
- Task2FromExamples(int a, int b, int c) { // це функція, але не зовсім наш варіант, бо це функція-конструктор, вона не повертає явно значення.
- this.a = a;
- this.b = b;
- this.c = c;
- int result = a + b + c;
- if (result > 0 && result < 100) { // будь уважні при порівнянні, напрклад тут значення 0 та 100 не враховані
- System.out.println(1); // це дуже важлива помилка - функція має повертати значення (ретурн) а не виводити на екран, але в конструкторі це не спрацює.
- } else if (a > b && a > c) {
- System.out.println(a);
- } else if (a < b && b > c) {
- System.out.println(b);
- } else if (c > a && c > a) { // дивна умова.
- System.out.println(c);
- } else if (a == b && b == c) {
- System.out.println(-1);
- }
- }
- int Task2FromExamples(int a, int b, int c) { // це функція яка має повертати явно значення типу int (вказано у сигнатурі)
- this.a = a;
- this.b = b;
- this.c = c;
- int result = a + b + c;
- if (result > 0 && result < 100) { // будь уважні при порівнянні, напрклад тут значення 0 та 100 не враховані
- return 1; // функція має повертати значення (ретурн) а не виводити на екран. Коли міняємо println на return то else стає не обовьязковим. поміркуйте чому.
- } else if (a > b && a > c) {
- return a;
- } else if (a < b && b > c) {
- return b;
- } else if (c > a && c > a) { // дивна умова.
- return c;
- } else if (a == b && b == c) { // ось тут можна було б після всіх попередніх умов просто ретурнити -1, бо інших варіантів не залишається
- return -1;
- }
- /* в такій функції, що має повертати значення, ми маємо обов'язково повернути значення. Якщо ретурн тільки за певними умовами,
- то java компілятор скаже про помилку, бо принаймні один ретурн має відбутися за будь-яких умов . Ця функція зараз не скомпілюється.*/
- // return щось; // треба розкоментувати щоб був не в іфі хочаб один. може на js здасте? там таких немає складнощів.
- }
- /* саму логіку ваших іфів я не перевіряв - схоже спрацює, варто самостійно потестити всіма варіантами. */
- public static void main(String[] args) {
- Task2FromExamples t = new Task2FromExamples(100, 100, 100); // на вступі не треба викликати свою функцію також.
- }
- }
- //Рішення2:
- class Task2FromExamples1 {
- public static void main(String[] args) {
- int a = 25; // ось так не треба робити на вступі, параметри мають передаватися до функції
- int b = 15;
- int c = 10;
- int result = a + b + c;
- if (result > 0 && result < 100) {
- System.out.println(1);
- } else if (a > b && a > c) {
- System.out.println(a);
- } else if (b > a && b > c) {
- System.out.println(b);
- } else if (c > a && c > b) {
- System.out.println(c);
- } else if (a == b && b == c) {
- System.out.println(-1);
- }
- }
- }
- // треба прорішати всі задачі курса зіро, щоб бути впевненим що здасте.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement