[Advanced Java Exercises] - 05. Sequence With Queue
Здравейте,
моля за помощ за 5та задача - изкарвам 60 / 100 и нямам идея къде бъркам.
Това е кодът ми -
http://pastebin.com/bGHzJ8wG
Здравейте,
моля за помощ за 5та задача - изкарвам 60 / 100 и нямам идея къде бъркам.
Това е кодът ми -
http://pastebin.com/bGHzJ8wG
На четвърти тест ти дава грешка, защото числата са ти в int. Направи ги на long, защото явно пускат тестове с по-големи числа. Съветвам те обаче да си оптимизираш решението.
Аз обаче имам друг проблем - гърми ми по време на изпълнение на последния тести и, честно казано, нямам идея каква може да е причината. Ето го моят код:
package com.company;
import java.util.ArrayDeque;
import java.util.Queue;
import java.util.Scanner;
/**
* Created by spask on 17.5.2016 г..
*/
public class CalculateSequenceWithQueue {
public static void main(String[] args) {
Queue<Long> sequence = new ArrayDeque<>();
Scanner sc = new Scanner(System.in);
long firstNum = sc.nextInt();
sequence.add(firstNum);
for (int i = 0; i < 50; i++) {
long headOfQueue = sequence.peek();
sequence.add(headOfQueue + 1);
sequence.add(headOfQueue * 2 + 1);
sequence.add(headOfQueue + 2);
System.out.print(sequence.remove() + " ");
}
}
}
Честно казано не знам какво е условието, но първото което забелязвам и може да е проблем е, че въпркеки че инициализираш long му даваш nextInt вместо nextLong
проблема ти е , че четеш nextInt() и ако числото е по-голямо ти хвърля InputMismatchException
http://pastebin.com/NYFqM2Qt имах и аз същия проблем и пробвах с вход по-голям от int и тогава вече видях ,че трябва да е nextLong().
Wow, аз съм идиот! Благодаря, колеги, направил съм го инерция!