Új hozzászólás Aktív témák
-
dantes
tag
válasz
Azazello- #1791 üzenetére
2,
boolean result = S1.equals(S2);4,
for(int i = 0; i < str.length(); ++i) {
System.out.println(i + ": " + str.charAt(i));
}5,
private boolean checkSort(int[] x) {
for (int i = 0; i < x.length - 1; i++) {
if (num > num[i + 1]) {
return false;
}
}
return true;
}6,
HashMap hashMap = new HashMap();
hashMap.put("key", "value");
Object value = hashMap.remove("key");
boolean isContains = hashMap.containsKey("key"); -
bpx
őstag
válasz
Azazello- #1708 üzenetére
egy bűn ronda és egyszerhasználatos megoldás
(talán ehhez kell a legkevesebb pluszt hozzátenni ill. módosítani a kódban):
Numbers osztályban egy új függvény:
(nem kiírja a sort mint a printLine(), hanem String-et épít belőle - és az utolsó szám után nem tesz space-t)public String getLine() {
String ret = "";
for(int i=0;i<index.length;i++){
ret += String.format("%2d" + (i==index.length-1?"":" "), index[i]);
}
return ret;
}Tickets osztályban kiíratás pedig:
itt ugye "bele van égetve" a programkódba, hogy hol milyen karakterből mennyi legyen (még szerencse hogy a sorok mindig egyforma hosszúak)public void printTicket(){
System.out.println("* * * * * * * * * * * * * *");
System.out.println("** **");
System.out.println("** Lottery Tickets **");
System.out.println("** **");
System.out.println("* * * * * * * * * * * * * *");
for (Numbers n : lottoLines) {
System.out.println("** " + n.getLine() + " **");
}
System.out.println("* * * * * * * * * * * * * *");
}persze lehet sokkal szebben meg univerzálisabban, de egy ekkora példánál felesleges szerintem
-
wiggen123
senior tag
válasz
Azazello- #1702 üzenetére
Nyomkodjad a spacet meg a backspacet, amíg jó nem lesz, vagy nem tudom milyen tanácsra vársz...
Sose értettem, miért akarnak az emberek ilyen csicsás kiíratás dolgokat programozni. Én mindig csak annyit csináltam, amit feltétlen muszáj volt. Úgyse az a lényeg, hogy milyen szépen íratsz ki konzolra... Egyik tanárom a bináris fákat irattatta ki valami eszméletlen durva módon c-ben. Ha már ennyire csicsázni akarod használj swinget
Mod: Látom nálatok ezen szőröznek, hogy tényleg ilyen csicsa kell a kiíratáshoz. Na akkor én hogy csinálnám: a számokat összefűzném egy stringbe szóközökkel elválasztva. Megnézném mekkora lehet max a hossz (ha minden szám kétjegyű lett a húzásnál az mennyit jelent) ehhez határoznám meg a felső és alsó keretek hosszát. A közbülső ticketes sorokat pedig ahogy már elkezdtem mondani egy sztringbe a számok elválasztva, elé a "* ". Majd kiszámolod mennyi hely van még és annyi spacet hozzáfűzöl egy for ciklussal, végül a * a végére, és kész a ticketes sor is.
-
bpx
őstag
válasz
Azazello- #1702 üzenetére
a Numbers osztály printline() függvénye új sort kezd, így nehéz lesz a csillagot odavarázsolni a sor végére utólag
ha ettől eltekintünk, a "%2d " miatt ugye mindig egyforma hosszú sorokat ír ki, szóval előre lehet tudni hogy hány db csillag vagy space kell a keret soraiba -
bpx
őstag
válasz
Azazello- #1694 üzenetére
public void printTicket(){
System.out.println("* * * * * * * * * * * * * *");
System.out.println("** **");
System.out.println("** Lottery Tickets **");
System.out.println("** **");
System.out.println("* * * * * * * * * * * * * *");
//access each element of the arrayList and call its printLine() method
for (Numbers n : lottoLines)
{
n.printLine();
}
}néha rádupláz szerkesztésnél :/
-
bpx
őstag
válasz
Azazello- #1650 üzenetére
no, hát egy kicsit más mint gondoltam, de mind1
1: kell ugye egy Concert osztály, olyan tagváltozókkal, amiket te döntesz el mi lehet, legyen pl. a koncert éve, és helye
class Concert
{
private int year;
private string location;
}2: egy üres konstruktor, és paraméteres konstruktor, előbbi példánál maradva
class Concert
{
private int year;
private String location;
public Concert()
{
// ide jöhet pl. a default értékek beállítása
}
public Concert(int year, String location)
{
this.year = year;
this.location = location;
}
}a többi osztály ugyanígy
3: ugye privát tagváltozók vannak, nem szeretnénk, hogy mindenki kedvére módosítgassa őket, ezért van külön getter/setter (vagy accessor/mutator) metódus, ahol korlátozhatjuk a módosítást/elérést
például Artist osztály:
public class Artist
{
...
private int age;
...
public void setAge(int age) { this.age = age; }
public int getAge() { return this.age; }
}összes többi tagváltozóra ugyanígy
4: print method, elég egyértelmű sztem
System.out.println(...) és mehet az, amit épp ki kell írni
a változóknak adsz mondjuk default 0/null értéket, és ez alapján lehet vizsgálni, hogy be vannak-e állítva5: az itt leírt szabályokat kell megvalósítani
elég mondjuk a setter részben, és ha már úgyis meg van írva, akkor lehet konstruktorban is azt használni
pl. írja, hogy az Artist kora több mint 0, és kevesebb mint 120
ennek megfelelően kell megírni a settert + a konstruktort hozzáigazítanipublic class Artist
{
private int age;
public void setAge(int age)
{
if ((age > 0) && (age <120)) this.age = age;
}
public int getAge() { return this.age; }
// konstruktor módosítása
public Artist(..., int age, ...)
{
...
setAge(age);
...
}
}
Új hozzászólás Aktív témák
Hirdetés
A topicot kiemeltem. Valaki nem akar egy nyitó hsz-t írni?:))
- sziku69: Fűzzük össze a szavakat :)
- Luck Dragon: Asszociációs játék. :)
- Vicces képek
- Villanyszerelés
- Épített vízhűtés (nem kompakt) topic
- Synology NAS
- Genshin Impact (PC, PS4, Android, iOS)
- Szeged és környéke adok-veszek-beszélgetek
- PlayStation 5
- Kazy Computers - Fehérvár - Megbízható?
- További aktív témák...
- Telefon felvásárlás!! iPhone 15/iPhone 15 Plus/iPhone 15 Pro/iPhone 15 Pro Max
- Bomba ár! HP ProBook 450 G7 - i5-10GEN I 16GB I 256SSD I HDMI I 15,6" FHD I Cam I W11 I Gar
- Dell D6000 univerzális dokkoló USB-C/ USB-A, DisplayLink & Dell WD15 (K17A) USB-C + 130-180W töltő
- BESZÁMÍTÁS! ASUS TUF Z390-PRO GAMING alaplap garanciával hibátlan működéssel
- Csere-Beszámítás! Asus Tuf RX 9070 XT 16GB Videokrátya! Bemutató darab!
Állásajánlatok
Cég: PC Trade Systems Kft.
Város: Szeged
Cég: CAMERA-PRO Hungary Kft
Város: Budapest