Loading...
lnikod4s avatar lnikod4s 5 Точки

[Homework] Java Basics - Introduction to Java - September 2014

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

 

Първо искам да се извиня, ако случайно вече съществува тема с подобна тематика, въпреки че не успях да открия такава. smile

 

Сигурен съм, че има доста ентусиасти, които са си поблъскали главата над задача 9. Бих искал да помоля тези от тях, които вече са я решили, да хвърлят един поглед вурху моя код, който би трябвало да принтира в PDF всички 52 карти, като за suits съм използвал съответните чарове (\u2660, \u2663, \u2665, \u2666). За принтиране в PDF съм импортнал itextpdf library (http://olex.openlogic.com/packages/itext/5.5.2)

Проблемът ми е следният: като си рънна кода без да принтвам аутпута на PDF, ми изкарва suits напълно нормално, а в PDF документа не излизат изобщо. Предполагам, че енкодинга куца при генерирането на PDF.

Ето и линк към сорс кода:

http://pastebin.com/xZxnYUTh

 

Благодаря предварително!

 

 

Тагове:
2
Java Advanced 05/09/2014 00:52:53
Anonymous:
Темата е дублирана: https://softuni.bg/forum/questions/details/886
jabalka avatar jabalka 960 Точки
Best Answer

Колеги, приканвам ви темата да прерастне в дискусия за цялото първо домашно.

0
zerefel avatar zerefel 70 Точки

Колега, направил си private source code-а в pastebin, не мога да го видя.
Аз лично се ориентирах към Apache PDFBox за тази задача. 

ПП: Вече се вижда!

0
05/09/2014 03:39:36
Filkolev avatar Filkolev 4482 Точки

Това, колега, беше последният досаден проблем, който имах с тази задача.

Причината да излизат в конзолата, но не и в документа, е че фонтът, който ползваш за писане по документа, не поддържа UTF. За целта аз си свалих фонт (който съдържа тези символи, например times.ttf) и малко си поиграх да го задам на itextpdf, за да излязат най-накрая и тия символи. Доколкото разбрах няма много други опции, т.е. няма вграден фонт в самата библиотека, който да ти свърши работа. 

3
a.angelov avatar a.angelov 1316 Точки

Ето моите домашни от първата лекция, разбира се приемам критика и коментари по тях :)

Introduction-to-Java

 

ПС. За фонт на задача девета може да си свалите от тук безплатни true type фонтове под GNU лиценз: http://ftp.gnu.org/gnu/freefont/

0
05/09/2014 10:23:53
nikola.m.nikolov avatar nikola.m.nikolov 830 Точки

Когато използваш няколко класа от една библиотека не е необходимо да ги import-ваш всичките по отделно. Примерно в 8-мата ти задача вместо:

import java.util.Arrays;
import java.util.Scanner;

може да използваш:

import java.util.*;

3
05/09/2014 18:46:04
a.angelov avatar a.angelov 1316 Точки

Благодаря!

Не се бях замислял - докато пиша кода си натискам Ctrl+Space да се импортне каквото е нужно :)

Това всъщност води ли до някаква оптимизация или?

1
nikola.m.nikolov avatar nikola.m.nikolov 830 Точки

Не съм сигурен дали се оптимизира нещо, защото по този начин се зареждат всички класове от дадена библиотека. С тази * се постига това, което примерно в C# по дефиниция зарежда всички класове на System, използвайки using System;

0
05/09/2014 20:48:34
VNikolov avatar VNikolov 51 Точки

Ето и моите задачи от домашната. Алгоритъмът на девета задача е лошо скалъпен ама върши работа :)

 

 

0
05/09/2014 09:36:09
mihayloff14 avatar mihayloff14 824 Точки

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

Относно девета задача действително да намериш подходящия фонт е най-проблемно. Както е казал Filkolev по-нагоре, трябва да си изтеглиш фонт от интернет.

Ето и всичките ми задачи от първото домашно:

01.IntroToJava

0
lnikod4s avatar lnikod4s 5 Точки

Благодаря на всички за конструктивните коментари!

След доста ходене по мъките, най-накрая успях да я завърша и сорс кода излезе на 47 реда, въпреки че в началото си мислех, че ще мине 100. tongue-out

http://pastebin.com/xZxnYUTh

0
daniel_tsonkov avatar daniel_tsonkov 32 Точки

Защо давате домашни и после ги триете, а линковете остават и неводят към никъде?

0
mihayloff14 avatar mihayloff14 824 Точки

Причината линка да не води към никъде е, защото правих рефакториране на хранилищата ми в github и всички линкове които съм споделял досега ще са счупени. Съжалявам, но не ми се занимава да минавам през всички свои постове и да оправям линковете.

За сметка на това, може да отвориш github профила ми (който е достъпен от софтуни профила ми) и да намериш съответното домашно, което те интересува. По принцип, мисля че съм именувал и подредил хранилищата си в github добре, но все пак - това което те интересува се намира ето тук:

URL

1
19/01/2015 21:03:13
Hristo_Penchev avatar Hristo_Penchev 389 Точки

Явно съм супер индианец и пропускам нещо елементарно, но никъде в сайта itextpdf.com не мога да намеря някакъв безплатен (или платен) даунлоад. Прехвърля ме от линк в линк нанякъде и накрая никъде. Библиотеката не трябва ли да е отворена?

0
verito898 avatar verito898 265 Точки

Просто напиши в google itext downlоad и от там първия резултат директно download

..и аз забелязах ,че в сайта уж се води платен , но иначе така си го изтеглих 

0
a.angelov avatar a.angelov 1316 Точки

Безплатна е за некомерсиална употреба, ето страницата за изтегляне /теглиш последната версия/:

http://sourceforge.net/projects/itext/files/iText/

 

ПС. А иначе от страницата на iText се стига до даунлоунда от тук: http://itextpdf.com/product/itext - скролни малко по-надолу и ще видиш линковете за даунлоуд.

0
05/09/2014 11:38:01
BoYaN avatar BoYaN 336 Точки

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

това са решенията ми на първото домашно по Java

_03_PrintHometown
_05_PrintDateTime
_06_SumTwoNumbers
_07_Console-Based Compilation.txt
_08_SortArrayOfStrings
_09_GeneratePDF
_10_run.sh
_11_run.cmd

Посетете и блога ми, в който съм се опитал да обясня как съм стигнал до тези решения на задачите.

Всички критики, предложения и коментари са добре дошли.

Поздрави

7
05/09/2014 15:14:08
ivan.dimittrov avatar ivan.dimittrov 7 Точки

Колега на задача 7 искам да компилирам задачата на Windows 8.1 , но като напиша javac  _03_ SumTwoNumbers.java ми изписва : 'javac' is not recognized as an internal or external command , operable program ot batch file.  Направих задачата по твоите стъпки , които си описал , но пак не става...  Моля за съвет :) .  Благодаря предварително!

0
ivan.dimittrov avatar ivan.dimittrov 7 Точки

Oправих го! Явно пак трябваше да изгледам лекцията :D ...

1
BoYaN avatar BoYaN 336 Точки

@ivan.dimittrov

Здрасти колега.

Докато видя коментара ти, ти вече си си решил проблема.

Вероятно нещо с path-овете на JDK-то не е било както трябва, ама като си го оправиш сам е най-якото нещо laughing

0
06/09/2014 09:39:55
simeon.georgiev avatar simeon.georgiev 62 Точки

Колеги, за да не пускам отделна тема- вчера реших някои задачи, днес пуснах една от тях отново и- Изненада! Никоя от тях не работи, при положение, че вчера работеха! Сега как да си пратя домашното, като явно има проблем... Също така, при положение, че за 9-та задача се иска iText, да го включим ли в архива за изпращане? По принцип такива външни библиотеки трябва ли да се включват?

0
a.angelov avatar a.angelov 1316 Точки

Какво означава не работят?

Зипни цялата папка с проекта и го качи някъде да го свалим и разгледаме.

Домашното предаваш с включените в него външни библиотеки /друг вариант е да ги махнеш и да посочиш какво си ползвал и откъде да се свали, но така ще затрудниш проверяващия/.

0
Filkolev avatar Filkolev 4482 Точки

Специално за iText ти е необходим само един .jar файл - аз поне свалих една дузина с архива, но останалите са някакви екстри. Т.е. слагаш само основния - itextpdf-5.5.2.jar, който е към 2 МБ.

При положение, че увеличиха позволения обем на архива, по-добре ще е за проверяващия ако сложиш библиотеката върте, както и външни фонтове ако си ползвал (моят фонт беше около 800 КБ).

 

 

0
Filkolev avatar Filkolev 4482 Точки

Колеги, имам 1 препоръка и няколко въпроса за домашните.

Първо, препоръката. Слагайте в архивите всичко външно, което сте ползвали. Например за задача 9 аз сложих външната библиотека на iText (~2 MB) и фонт, times.ttf (~800 KB). Архива е по-голям от обикновено, но е далеч от лимита от 8 MB. Мисля, че така е най-удачно да подхождаме, за да улесним хората, които проверяват. Импортват си проекта ви в Еклипс и гледат задачите без да ровят по нета коя библиотека сте ползвали, пък ако искат да проверят дали кодът ви работи трябва да я свалят и импортнат и т.н.

Понеже съм начинаещ, за да се подсигуря, че съм направил всичко както трябва, коипирах си зипчето от виртуалната машина на уиндоуса и го импортнах в Еклипс под уиндоус. Направих следното  - от File -> Import, в General категорията има опция Archive File избирам архива на следващия прозорец през Browse, както и папка, където да се импортне. Хубаво, получи се криво-ляво, ама с повече мъки, отколкото трябваше.

  • Някой (предполагам от колегите от първия випуск) може ли да предложи най-удобния начин да импортваме чужди проекти, за да ги проверяваме?
  • Външната ми библиотека за 9-та задача се намира в папка lib в src. Там ли й е мястото или трябва да е отвън заедно с bin и src?
  • Също, в архива имам и други файлове - текстовия файл от 7-ма, други текстови за 10-та и 11-та, .ttf файл за фонта (пак за 9-та задача), .exe файла от 11-та, от 7-ма също .sh и .jar. И ако това не стига от 9-та имам и един примерен PDF, знам ли ако не стане при проверяващия по някаква причина да тръгне програмата да види поне какъв трябва да е резултатът. Цялата тая манджа в главната папка на архива. ОК ли е това? Някакви препоръки как да ги подредя малко по-прилично?
0
mihayloff14 avatar mihayloff14 824 Точки

Можеш да импортваш външен проект като го сложиш някъде (аз лично го слагам в workspace-а на еклипса), и след това използваш Import --> Existing projects into workspace. Преди това естествено трябва да разархивираш файла със съответния проект.

Относно външните библиотеки - Когато Import-ваш External library, се създава нова папка lib и там се слагат всички библиотеки, които искаш да използваш. Освен това, те трябва да бъдат включени в Build Path.

Колкото до останалите External файлове, аз лично ги слагам в папката на самия проект, но не знам дали това е добра практика.

1
05/09/2014 16:29:56
lnikod4s avatar lnikod4s 5 Точки

Аз искам да питам всички ли ползвате Eclipse, защото аз лично си инсталирах и NetBeans и IntelliJ IDEA. Честно казано последната IDE ми хареса най-много, доста по-user friendly e, но понеже съм начинаещ, нещо не се осмелявам да я ползвам, заради евентуални различия с еклипс. Ако някой има повече опит, нека сподели. 

0
Filkolev avatar Filkolev 4482 Точки

@lnikod4s

На лекции ще се работи с Еклипс, но това не пречи да ползваш и друго ИДЕ. Аз също съм си сложил NetBeans, но не съм го разцъквал. IntelliJ мисля и нея да я сложа. На самия изпит също никой не те задължава да ползваш определено ИДЕ.

Важното е да се чувстваш комфортно със средата, така че щом имаш изразени предпочитания, не само може, ами е и по-добре да си ползваш IntelliJ. Просто предвид, че Еклипс е най-разпространена, от СофтУни (правилно) са преценили, че е хубаво да се позапознаем с нея, защото може в професионалния ни живот да ни се наложи да я ползваме.

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