- iPhone topik
- Fotók, videók mobillal
- Samsung Galaxy S25 - végre van kicsi!
- Samsung Galaxy A34 - plus size modell
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- Samsung Galaxy A54 - türelemjáték
- Középkategóriást mutatott be újra az Oppo
- Huawei Watch GT 5 Pro - egészség + stílus
- Hónap végén érkezik a Xiaomi Band 10, ára is van
- Samsung Galaxy S21 FE 5G - utóirat
Ú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?:))
- Honor Pad X8a 64GB Wifi,1 év Garancia
- Lenovo Thinkpad P16 G2 - i9-13980HX, 64GB, 1TB SSD, 16" WQUXGA (3840 2400), RTX 4090 (ELKELT)
- DELL PowerEdge R730xd 16LFF+2SFF rack szerver - 2xE5-2680v3,64GB RAM,4x1GbE,H730 RAID v ZFS
- BESZÁMÍTÁS! MSI B450M R5 5500 16GB DDR4 512GB SSD GTX 1080Ti 11GB Rampage SHIVA Chieftec 700W
- DELL PowerEdge R730xd 12LFF rack szerver - 2xE5-2680v3,64GB RAM,4x1GbE,H330 RAID v ZFS
Állásajánlatok
Cég: PC Trade Systems Kft.
Város: Szeged
Cég: Promenade Publishing House Kft.
Város: Budapest