Loading...
a_rusenov avatar a_rusenov 1103 Точки

Java Basics - Debugging Lab - задачи, впечатления и домашно

Здравейте колеги,

Задачите от лаба са качени в системата, а състезанието е отворено за упражнение:

Също така отворихме качване на домашно в страницата курса до 31 януари, където трябва да изпратите вашите решения на всяка задача (без първа).

За тези, които не присъстваха, концепцията е следната - дадени са условия на задачи + частично работещ код. Вашата задача е да се ориентирате в чуждия код, да откриете бъговете чрез дебъгване и да ги оправите, така че Judge системата да дава 100 точки. Нямате право да пренаписвате собствено решение на задачата, а единствено да редактирате там където е нужно (по ваша преценка). Съответно над всеки редактиран от вас ред трябва да сложите кратък коментар, описващ какво сте променили и защо.

Например имаме следния код:

Scanner input = new Scanner(System.in);

String line = input.nextLine();
while (line != "end") {
...
}

Откриваме грешния ред, редактираме го и слагаме коментар:

Scanner input = new Scanner(System.in);

String line = input.nextLine();
// Changed != with equals(), because != compares strings by memory reference
while (!line.equals("end")) {
...
}

Как ви се сториха задачите и като цяло лабът? Ако имате въпроси, препоръки и мнения, споделете ги в тази тема. :)

10
Java Advanced 02/02/2015 15:04:37
enevlogiev avatar enevlogiev 1168 Точки

+1 oтвсякъде,
разбрах някои странности за Java, над които съм си блъскал главата с часове : )

1
Kamigawa avatar Kamigawa 750 Точки

Лаба беше много добре, друго може да не научих, но дебъгера вече е неизменна част от писането ми на код - даже по едно време си седях само в него и си коригирах кода от там с restart на промяна да видя дали работи правилно. Това ми е първият лаб (на C# почнаха след моя курс) и като гледах от C# лабовете си мислех, че и тук ще са някакви елементарни неща, но бях много приятно изненадан. Като цяло доста се поизпотих, но определено не съжелявам, че останах до края. Може би времето за решаване на задачите беше малко, но за сметка на това си наваксахме overtime след лаба. Като препоръка мога да дам идея - да има повечко елементи свързани с изпита - да дебъгера е супер важен, ама ако имаше и малко regex и речници в задачите да свикваме от сега щеше да е още по добре лаба. Поздравление за задачите - аз поне се изкефих да гледам чужд код повече от 10 реда :).

1
dimityr.jechev avatar dimityr.jechev 198 Точки

Ще има ли видео ?

2
ibakyrdjiev avatar ibakyrdjiev 172 Точки

Lab-a не се записва на видео. 

Това е един от големите плюсове да си в присъствена форма. 

Ако имаш проблеми или затруднения с debug на eclipse може да погледнеш тук.


Задачите бяха много интересни и полезни. 

3
Nexus avatar Nexus 119 Точки

Жалко, че няма видео!

Хубавото е, че има доста инфо в youtube.

Пример - този хакер (вероятно индиец) има много готин акцент и е забавен за слушане :)

2
26/01/2015 14:50:57
dimityr.jechev avatar dimityr.jechev 198 Точки

А домашното трябва ли да се праща от онлайн студентите ?
ПС:Също така ,защо Lab на C# има видео,а този няма? cry

0
SimeonStoykov avatar SimeonStoykov 114 Точки

За домашното не знам как стоят нещата, но за видеото питахме лектора дали ще има такова (аз съм присъствено) и той каза че със сигурност нямало да има, защото Lab-овете били едно от предимствата на това да си присъствено, а на C# най-вероятно са качени лабовете, защото е нулево ниво и е безплатно и за присъствени и за онлайн студенти.

0
26/01/2015 22:05:11
pataroka avatar pataroka 319 Точки

Аз съм съгласен да ми вдигнат таксата за онлайн обучение, но да има видеа от лабовете. Не съм записан присъствено, не защото искам да спестя някой лев, а защото нямам физическото време да присъствам на лекциите. Някой от нас имат семейства да хранят все пак...

9
SimeonStoykov avatar SimeonStoykov 114 Точки

Добре, само че това изобщо не зависи от мен, аз просто предадох думите на лектора тук в темата, за да се знае какво е казал. Ако имате предложения или сте недоволни от нещо се обърнете към екипа на СофтУни.

0
nick.genov avatar nick.genov 104 Точки

Здравейте, колеги.

Справих се със задачите от Lab-a, с изключение на трета - BePositive. Там докарах до 40/100 точки. Доста време загубих и реших да попитам какво бъркам. Това е кодът ми: http://pastebin.com/jCD2d3rC 

Лека вечер

0
27/01/2015 23:34:18
Filkolev avatar Filkolev 4482 Точки

След като стигнеш последния елемент на реда трябва да принтираш нов ред. Това е единственото, което забелязвам. Т.е. там където са тернарните оператори вместо празен стринг сложи "\n" и виж дали ще сработи.

1
nick.genov avatar nick.genov 104 Точки

Хм, изглежда не е това. Сега изкарах 20/100 точки. Нулевия тест също не мина.

0
Filkolev avatar Filkolev 4482 Точки

На 49-ти ред имаш принтиране на нов ред, което вече ще добави два нови реда с последната промяна. Ако го махнеш ще получиш 100/100.

Има бъг в решението на задачата, което е подадено на Judge. Ако сложиш този празен ред на ред 49 да е в else (т.е. ако има намерени резултати), това решение ще е коректно, но няма да дава 100 точки в системата поради този пропуск.

1
gabberfreak avatar gabberfreak 7 Точки

Може ли малко помощ за 3-та задача от домашното.

Моето решение е малко по различно от авторското , добавил съм и коментари ако има нещо неясно, но проблема е че ми гърми 4-ти тест. Output-а ми излиза правилно в еклипса , но judge системата не го приема.

Ето го кода: http://pastebin.com/89SXRBZM

0
Filkolev avatar Filkolev 4482 Точки

Грешката се получава на ред 48, понеже проверяваш дали j == size - 1, но всъщност вече трябва да провериш j+1. Или проверката трябва да промениш, или да инкрементираш j по-рано.

2
m.zh.ivanova avatar m.zh.ivanova 1 Точки

Този judge ме вади извън релси, тъй като така както я оправих задачата върви и като резултати ми вади всичко, но в системата ми дава 0/100, всички нулеви тестове са преминали успешно, само последния тест 1 е с incorrect answer. Какво значи този тест и защо ми го дава като грешен... Какво пропускам, можете ли да ми кажете... това ми е кода (задача втора): http://pastebin.com/nzdUbmXa Благодаря предварително :)

0
28/01/2015 23:42:25
Kamigawa avatar Kamigawa 750 Точки

Пробвай към максималната стойност на числото да добавиш едно и виж какво става ;)

INC 2147483647

0
29/01/2015 00:09:06
m.zh.ivanova avatar m.zh.ivanova 1 Точки

добреее, и тези грешки с препълването ги поправих, но все пак системата ми дава 0 точки :(

0
29/01/2015 19:43:13
Kamigawa avatar Kamigawa 750 Точки

Пробвай и другите команди с максимални стойности.

0
piffa avatar piffa 1 Точки

Здравейте,

Аз съм блокирала на задачата BitCarousel - всички тестове без последния минават успешно, всички примери вървят. Judje ми дава 0 точки. Може ли да ми помогнете, явно изпускам нещо...

Ето го кода:

package javaLab;

import java.util.Scanner;

public class BitCarousel_Broken {

    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);

        byte number = Byte.parseByte(input.nextLine());
        byte rotations = Byte.parseByte(input.nextLine());
        
            if (number >0 & number <=63) {
                String direction = input.nextLine();
                
                for (int j = 1; j <= rotations; j++) {
                

                switch(direction){
                    case "right": {
                        int rightMostBit = number & 1;
                        number >>= 1;
                        number |= (rightMostBit << 5);
                        break;
                    }
                    case "left": {
                        int leftMostBit =  1;
                        number <<= 1;
                        if (number >63 ) {
                            number -= 64;
                            number |= leftMostBit ;
                        }
                        else
             
                        break;
                    }
                }
                
                direction = input.nextLine();
                
            }
            System.out.println(number);
        }
    }
}

1
Bi0GaMe avatar Bi0GaMe Trainer 389 Точки

При отместване на ляво правиш някакви изваждания, които са ненужни. Трябва още да помислиш как да местиш битовете наляво, така че да се въртят. :)

1
softuniobserver avatar softuniobserver 73 Точки

 

Ivanina, това е моето решение в случай, че не си се оправила. Не е съвсем по правилата на играта, защото си написах задачата from scratch, но като се има в предвид, че това е побитова задача, то аз лично го приемам за успех решението.

click

1
04/02/2015 21:11:43
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.