Top Integers
Здравейте,
не мога да реша задача Top Integers от Arrays.
Разписавам код, който ми дава 0 точки. Мисля, че при принтирането ми е проблема, но не се сещам как да го оправя.
Ето кода ми: https://pastebin.com/nKFNpj9S
Здравейте,
не мога да реша задача Top Integers от Arrays.
Разписавам код, който ми дава 0 точки. Мисля, че при принтирането ми е проблема, но не се сещам как да го оправя.
Ето кода ми: https://pastebin.com/nKFNpj9S
Проблемът е, че не проверявате всички числа до края при определянето на "top" число.
Това може да се реши примерно с използване на булева променлива:
package test;
import java.util.Arrays;
import java.util.Scanner;
public class TopIntegers {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int[] numbers = Arrays
.stream(scanner.nextLine().split(" "))
.mapToInt(Integer::parseInt)
.toArray();
for (int i = 0; i <= numbers.length - 1; i++) {
int currentNum = numbers[i];
boolean isTopNumber = true; //приемаме, че е top number
for (int j = i + 1; j <= numbers.length - 1; j++) {
int currentNum2 = numbers[j];
if (currentNum <= currentNum2) {
isTopNumber = false; //оказва се, че не е
break; // прекъсваме вътрешния цикъл
}
}
if (isTopNumber) { //печатаме числото само веднъж ако е top
System.out.print(currentNum + " ");
}
}
}
}
Благодаря, видях си грешката :)