- Fórumok
- Szoftverfejlesztés
- Java programozás
- (kiemelt téma)
- Luck Dragon: Asszociációs játék. :)
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- gban: Ingyen kellene, de tegnapra
- Luck Dragon: Alza kuponok – aktuális kedvezmények, tippek és tapasztalatok (külön igényre)
- sziku69: Fűzzük össze a szavakat :)
- djculture: Az elvileg már senkinek nem kellő HDD-k ára is egekbe emelkedett 4 hónap alatt
- eBay-es kütyük kis pénzért
- Gurulunk, WAZE?!
- Archttila: SMART tesztelés automatizálva: smartctl poller script Zsh-ban, RPi-re
- btz: Internet fejlesztés országosan!
-
Fórumok
LOGOUT - lépj ki, lépj be!
LOGOUT reakciók Monologoszféra FototrendGAMEPOD - játék fórumok
PC játékok Konzol játékok MobiljátékokPROHARDVER! - hardver fórumok
Notebookok TV & Audió Digitális fényképezés Alaplapok, chipsetek, memóriák Processzorok, tuning Hűtés, házak, tápok, modding Videokártyák Monitorok Adattárolás Multimédia, életmód, 3D nyomtatás Tabletek, E-bookok Nyomtatók, szkennerek PC, mini PC, barebone, szerver Beviteli eszközök Egyéb hardverek PROHARDVER! BlogokMobilarena - mobil fórumok
Okostelefonok Mobiltelefonok Okosórák Autó+mobil Üzlet és Szolgáltatások Mobilalkalmazások Tartozékok, egyebek Mobilarena blogokIT café - infotech fórumok
Infotech Hálózat, szolgáltatók OS, alkalmazások SzoftverfejlesztésFÁRADT GŐZ - közösségi tér szinte bármiről
Tudomány, oktatás Sport, életmód, utazás, egészség Kultúra, művészet, média Gazdaság, jog Technika, hobbi, otthon Társadalom, közélet Egyéb Lokál PROHARDVER! interaktív
Új hozzászólás Aktív témák
-
D4nte
csendes tag
Értem, de nem teljesen jó (biztos béna vagyok még)
String change = actor1.toUpperCase();
String change = actor2.toUpperCase();Az első még jó, de a másodiknál már nem fogadja el
change is already defined in main(java.lang.String[])
String change = actor2.toUpperCase();change után definiálni kell, a változtatandót ?
vagy teljesen rosszul értelmeztem ?A legegyszerűbb akkor, ha meg is mutatom, amit leírtam.
public class Credits {
public static void main(String[] args) {
// a film adatainak beállítása
String title = "The Piano";
int year = 1993;
String director = "Jane Campion";
String role1 = "Ada";
String actor1 = "Holly Hunter";
String role2 = "Baines";
String actor2 = "Harvey Keitel";
String role3 = "Stewart";
String actor3 = "Sam Neill";
String role4 = "Flora";
String actor4 = "Anna Paquin";
// az adatok megjelenítése
System.out.println(title + " (" + year + ")\n" + "A "
+ director.toUpperCase() + " film.\n\n" +
role1 + "\t" + actor1.toUpperCase() + "\n" +
role2 + "\t" + actor2.toUpperCase() + "\n" +
role3 + "\t" + actor3.toUpperCase() + "\n" +
role4 + "\t" + actor4.toUpperCase());
}
} -
D4nte
csendes tag
Na szóval akkor újra!
public class Credits {
public static void main(String[] args) {
// a film adatainak beállítása
String title = "The Piano";
int year = 1993;
String director = "Jane Campion";
String role1 = "Ada";
String actor1 = "Holly Hunter";
String role2 = "Baines";
String actor2 = "Harvey Keitel";
String role3 = "Stewart";
String actor3 = "Sam Neill";
String role4 = "Flora";
String actor4 = "Anna Paquin";
// az adatok megjelenítése
System.out.println(title + " (" + year +")\n" +
"A " + director + " film.\n\n" +
role1 + "\t" + actor1 + "\n" +
role2 + "\t" + actor2 + "\n" +
role3 + "\t" + actor3 + "\n" +
role4 + "\t" + actor4 );
}
}Ez az eredeti kód.
Mikor futtatom akkor megjeleníti a szövegeket. (tudom, hogy tudjátok
csak magam miatt írom le)
Pl: Ada Holly Hunter
Baines Harvey Keitel
stb
És az volna a kérdésem, hogyan lehet a legkönnyebben úgy megváltoztatni a kódot, hogy csak az actorok és a director legyen Teljesen nagybetűvel a többi marad az eredetiben.String change = director.toUpperCase();
Ugye ez megváltoztatja a directorhoz rendelt Jane Campion nevet JANE CAMPION-ra
+ "\n" + change
Ez pedig megjeleníti.Na már most azóta én már átírtam a kódot, így fest most.
public class Credits {
public static void main(String[] args) {
// a film adatainak beállítása
String title = "The Piano";
int year = 1993;
String director = "Jane Campion";
String role1 = "Ada";
String actor1 = "Holly Hunter";
String role2 = "Baines";
String actor2 = "Harvey Keitel";
String role3 = "Stewart";
String actor3 = "Sam Neill";
String role4 = "Flora";
String actor4 = "Anna Paquin";
// az adatok egy részének, nagy betűvel való megjelenítése
String changedirector = director.toUpperCase();
String changeactor1 = actor1.toUpperCase();
String changeactor2 = actor2.toUpperCase();
String changeactor3 = actor3.toUpperCase();
String changeactor4 = actor4.toUpperCase();
// az adatok megjelenítése
System.out.println(title + " (" + year +")\n" +
"A " + changedirector + " film.\n\n" +
role1 + "\t" + changeactor1 + "\n" +
role2 + "\t" + changeactor2 + "\n" +
role3 + "\t" + changeactor3 + "\n" +
role4 + "\t" + changeactor4);
}
}A kérdés még mindig az, hogy van-e rövidebb megoldás erre ? vagy ez így jó ?
Elnézést, hogy ilyen hosszúra sikeredet.Köszönöm a segítségetek.
A change* változókba nem szükséges külön eltárolnod a nagybetűsített dolgokat, annyi, hogy a printedben hívod meg ugyan új a függvényt az eredetiekre, amennyiben a kiíratáson kívül másra nem akarod használni ezeket a nagybetűsített verziókat. Ettől még az eredeti stringek (az előző hozzászólásokból is kiderülten) változatlanok maradnak.
-
Lacces
őstag
Újabb kérdés! (elnézést a sok kérdés miatt)
Adott az alábbi kód
public class Credits {
public static void main(String[] args) {
// a film adatainak beállítása
String title = "The Piano";
int year = 1993;
String director = "Jane Campion";
String role1 = "Ada";
String actor1 = "Holly Hunter";
String role2 = "Baines";
String actor2 = "Harvey Keitel";
String role3 = "Stewart";
String actor3 = "Sam Neill";
String role4 = "Flora";
String actor4 = "Anna Paquin";
String change = director.toUpperCase();
// az adatok megjelenítése
System.out.println(title + " (" + year +")\n" +
"A " + director + " film.\n\n" +
role1 + "\t" + actor1 + "\n" +
role2 + "\t" + actor2 + "\n" +
role3 + "\t" + actor3 + "\n" +
role4 + "\t" + actor4 + "\n" +
change);
}
}A kiemelt részek felelősek a director nagybetűvel való megjelenítésért, az kérdésem is ehhez kapcsolódó lenne. Lehetséges úgy átírni a kódot hogy az actorokat és a rolekat egy Stringben alakítsa át nagybetűsre ?
a megjelenítés már nem lényeges.Előre is köszönöm.
update: Nem lehet kódban kiemelni vagy csak nekem nem akarja az igazságot.
String change = director.toUpperCase();
ez lenne a lényeges rész.Nekem sem tiszta, mit akarsz pontosan, de lehet én vagyok lüke hozzá.
Ez lehet az amire gondoltál szerintem:
String result = title + " (" + year +")\n" +
"A " + director + " film.\n\n" +
(role1 + "\t" + actor1 + "\n" +
role2 + "\t" + actor2 + "\n" +
role3 + "\t" + actor3 + "\n" +
role4 + "\t" + actor4 + "\n" +
change).toUpperCase();
System.out.println(result);
role1-től a change-ig minden nagybetűs a többit meg kicsiben hagyja a result Stringben.
A toUpperCase() után oda lehet szúrni a toStrin()-et is de ez nem kötelező, anélkül is nagybetűsre alakítja.Karma hsz-e is hasznos. De szerintem még nem tartasz ott, hogy tud, ő miért javasolta a StringBuildert
Bár az is, igaz, hogy inkább forciklusban használják a StringBuildert.Ennek oka röviden, hogy a String az egy olyan állandó, amelynek értéke futás közben megváltozhatatlan. Ha úgy mond konketenálsz egy String-et akkor új String jön létre.
role1 + "t" -> akkor ez egy új String objektum ami a memóriában van, és nem a régi módoítottad, ami szintén a memóriában van, és marad a program végéig! StringBuilder esetében pedig a régit tudod módosítani, és így csak String objektum van a memóriában. A JVM nem módosítja sosem a Stringeket, hanem újat hozz létre mindig! És ezzel eszi a memóriát. És ez azért is baj, mert a Szemétgyűjtő a Stringeket nem kezeli, nem dobja ki őket.
Bár van egy előnye ennek, az ha mégegyszer egy ugyanolyan String objektum jön létre (ugyanaz az értéke), akkor a JVM nem hozz létre új Strng-et hanem egész egyszerűen már egy meglévőre hivatkozik.
De ha tévedet, jönnek a többiek és nagy örömmel kijavítanak.
-
Karma
félisten
Újabb kérdés! (elnézést a sok kérdés miatt)
Adott az alábbi kód
public class Credits {
public static void main(String[] args) {
// a film adatainak beállítása
String title = "The Piano";
int year = 1993;
String director = "Jane Campion";
String role1 = "Ada";
String actor1 = "Holly Hunter";
String role2 = "Baines";
String actor2 = "Harvey Keitel";
String role3 = "Stewart";
String actor3 = "Sam Neill";
String role4 = "Flora";
String actor4 = "Anna Paquin";
String change = director.toUpperCase();
// az adatok megjelenítése
System.out.println(title + " (" + year +")\n" +
"A " + director + " film.\n\n" +
role1 + "\t" + actor1 + "\n" +
role2 + "\t" + actor2 + "\n" +
role3 + "\t" + actor3 + "\n" +
role4 + "\t" + actor4 + "\n" +
change);
}
}A kiemelt részek felelősek a director nagybetűvel való megjelenítésért, az kérdésem is ehhez kapcsolódó lenne. Lehetséges úgy átírni a kódot hogy az actorokat és a rolekat egy Stringben alakítsa át nagybetűsre ?
a megjelenítés már nem lényeges.Előre is köszönöm.
update: Nem lehet kódban kiemelni vagy csak nekem nem akarja az igazságot.
String change = director.toUpperCase();
ez lenne a lényeges rész.Hogy mit szeretnél? Fontos lépés a programozásban, hogy pontosan tudod mit és miért akarsz csinálni. A zajt kordában kell tartani.
Jelen példa esetén nekem nem jött át a szándék. Kifejthetnéd.
Mindenesetre ha egy nagy stringben akarsz mindent összegyűjteni, akkor nincs más dolgod, mint összefűzöd őket. A rossz megoldás a + operátor, a kicsit jobb a StringBuffer/StringBuildet használata, nekem személy szerint az Apache Commons Lang nevű library StringUtils.join() metódusa tetszik a legjobban - nem vagyok a kerék újrafeltalálásának híve.Persze a gyakorlás az más tészta. De akkor is legyen legalább minimális értelme.
-
Karma
félisten
-
Karma
félisten
Köszi!
Valahogy sejtettem, hogy csak így lehet.
weight = 0.45 * 3; ez a rész elég is volt
A tizedes vesszőt csak megszokásból írtam így, de már kezdem megszokni a dolgokat.Viszont lenne egy újabb kérdésem
Elöljáróban még annyit leszögeznék, hogy soha nem programoztam és nem is tanultam programozást.
De nagyon érdekel és tetszik is. Ezután a java mellett döntöttem.Szóval adott az alább kód
public class Matek {
public static void main(String[] args) {
int x = 5;
int y = 6;
System.out.println("Matek 5 to the second plus 6 to the second equal");
int number = (x * x) + (y * y);
System.out.println("Matek " + number);
}
}A feladat az lenne, hogy 2 szám négyzetét kiszámolja majd összeadja és azt megjeleníti.
Le is fut és jól is működik. Nem is hibával kapcsolatos a kérdésem, inkább azt szeretném tudni, hogy van e más megoldás 2 szám négyzetének kiszámolására ? keresgettem googleban, de nem találtam olyat ami nekem jó lenne. vagy csak még nagyon kezdő vagyok
Lehet nektek csúnya a fenti kód, de tőlem most csak ennyire futotta!
Várom a véleményeket.Előre is köszönöm.
Ez a számítás teljesen jó ebben a formában szerintem.
A Math osztályban találsz tetszőleges hatványra emelő metódust, de a négyzet pont olyan, hogy ezért felesleges ezt bevonni.
---
Az alaphelyzetre visszatérve nem vagyok annyira meggyőződve arról, hogy jól választottál nyelvet. Amit most írsz stílus, ami egyszer strukturált programozásig fejlődhet, szerintem nem igényli a Javát; viszont rossz Java programozási gyakorlatot ültethet el a fejedben, amit nehéz lesz kiirtani.
-
Superhun
addikt
Sziasztok
Java programozást kezdtem tanulni könyvekből, mert érdekel nagyon, és tetszik is.
Kellene egy kis segítség.int weight = 250;
weight = weight + 0,45 * 3;Nem fogadja el a 0,45-öt (nem fordul le) és semmilyen nem egész számot. Megoldható valahogy ? vagy floatba lehet csak ?
Előre is köszönöm.
Két alapvető dolgot tegyünk tisztába:
1. A tizedesvesszőt ponttal jelölik szinte minden prognyelvben

2. Int típusú változnak nem adhatsz értékül lebegőpontos számot. Tehát vagy lebegőpontosként definiálod a weight változót,// lebegőpontos, a szám végén egy f betűvel jelöljük
float weight = 250.0f;
weight += 0.45f * 3;
// dupla pontosságú lebegőpontos
double weight = 250.0;
weight += 0.45 * 3;vagy castolod a jobboldalt egész számmá:
weight += (int)(0.45f * 3);
Az utóbbinál figyelni kell, mert pontosságot veszíthetsz.
Sok sikert a tanuláshoz!

-
Frigo
őstag
Sziasztok
Java programozást kezdtem tanulni könyvekből, mert érdekel nagyon, és tetszik is.
Kellene egy kis segítség.int weight = 250;
weight = weight + 0,45 * 3;Nem fogadja el a 0,45-öt (nem fordul le) és semmilyen nem egész számot. Megoldható valahogy ? vagy floatba lehet csak ?
Előre is köszönöm.
Cseréld le a vesszőt pontra (mivel ezt használják angolszász területen tizedes vessző helyett)
Új hozzászólás Aktív témák
-
Fórumok
LOGOUT - lépj ki, lépj be!
LOGOUT reakciók Monologoszféra FototrendGAMEPOD - játék fórumok
PC játékok Konzol játékok MobiljátékokPROHARDVER! - hardver fórumok
Notebookok TV & Audió Digitális fényképezés Alaplapok, chipsetek, memóriák Processzorok, tuning Hűtés, házak, tápok, modding Videokártyák Monitorok Adattárolás Multimédia, életmód, 3D nyomtatás Tabletek, E-bookok Nyomtatók, szkennerek PC, mini PC, barebone, szerver Beviteli eszközök Egyéb hardverek PROHARDVER! BlogokMobilarena - mobil fórumok
Okostelefonok Mobiltelefonok Okosórák Autó+mobil Üzlet és Szolgáltatások Mobilalkalmazások Tartozékok, egyebek Mobilarena blogokIT café - infotech fórumok
Infotech Hálózat, szolgáltatók OS, alkalmazások SzoftverfejlesztésFÁRADT GŐZ - közösségi tér szinte bármiről
Tudomány, oktatás Sport, életmód, utazás, egészség Kultúra, művészet, média Gazdaság, jog Technika, hobbi, otthon Társadalom, közélet Egyéb Lokál PROHARDVER! interaktív
- Fórumok
- Szoftverfejlesztés
- Java programozás
- (kiemelt téma)
A topicot kiemeltem. Valaki nem akar egy nyitó hsz-t írni?:))
- BESZÁMÍTÁS! MSI Gaming Z Trio RTX 3080 10GB videókártya garanciával hibátlan működéssel
- BESZÁMÍTÁS! Gigabyte Z270 i5 7600K 16GB DDR4 256GB SSD GTX 1060 3GB Zalman Z1 CHIEFTEC 500W
- Játékra vagy Munkára! Csere-Beszámítás! I7 3930K / Nvida GTX Titan B / 16GB DDR3 / 500GB SSD!
- iKing.Hu - Apple MacBook Pro 16 M1 Pro (2021) 32GB/512GB karcmentes 91% akku 188 ciklus
- HIBÁTLAN iPhone 15 Plus 128GB Black -2 ÉV GARANCIA - Kártyafüggetlen, MS5502, 91% Akkumulátor
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest

csak magam miatt írom le)
Bár az is, igaz, hogy inkább forciklusban használják a StringBuildert.

