08. februar 2006 - 22:33Der er
35 kommentarer og 1 løsning
flere klasser sammen
Hej Eksperter!
Jeg er gået i gang med Java her i dag vha. www.javabog.dk (som jeg tror bliver en rigtig god side for mig til at lære sproget) - Jeg havde "planlagt" at gå i gang med at lære mig c++ eller c# men pga. jeg fandt en dansk guide til Java blev det dette sprog i stedet..
Jeg tror det er lige så godt da jeg ikke har i sinde at lave hverken styresystemer eller drivers, blot nogle applikationer som kan arbejde sammen med mine websteder - Fx hvis jeg skal lave nogle administrationmoduler via et program, eller hvis der skal stå en server kørende 24/7 og være med til at lave faste opdateringer hver nat i stedet for at lave det med usikkert html/serverside...
Jeg arbejde til dagligt med PHP og kan derfor godt forstå en del af syntaxen og strukturen i Java (hvilket jeg egentlig ikke havde troet)
Jeg har et par spørgsmål efter jeg har læst et par kapitler.
- Hvad gør man når flere klasser skal arbejde sammen? De skal jo gemmes i hver sin fil med navnet klassenavn.java og derfor kan flere klasser jo ikke være i samme fil? - Java kan da godt lave exe-filer? Altså programmer man kan åbne direkte fra Windows som så laver nogle handlinger? Lige nu får jeg kun noget tekst skrevet ud i min editor (Borland JBuilder) - Hvad bruger man egentlig JBuilder? Jeg synes det er meget akavet, at man først skal oprette et projekt gennem en wizard og derefter gå igennem endnu et par wizards før man kan gå i gang... Kan man ikke bare gå en blank side man kan skrive kode i? - Et andet spørgsmål til JBuilder er hvorfor man skal definerer en "main"-klasse inden man kan køre programmet gennem "run"-funktionen? Hvis man ikke har det vil den ikke kompliere og melder fejl - Hvad gør jeg forkert der?
Ja, lige et par begynder spørgsmål jeg gerne vil have belyst - Der kommer helt sikkert mange Java spørgsmål fra mig den næste stykke tid :)
I et inbound callcenter, hvor identiteten på den, der ringer ind, skal bekræftes, kan kontrollen nu foregå i telefonkøen. Det understøtter fem centrale KPI'er for callcentre.
hvis dine ,class filer ligger i samme mappe siger du blot > java KlassMedMain.class og de ekstra .class filer den evt har brug for bliver så automatisk hentet mår programmet afvikles.
Nej. selve Java er jo netop uafhængingt af maskinen, styresystemet osv. så de basale java regler gælder kun til det punkt hvor en .class fil skal afvikles af den virtuelle maskine.
Men du kan samle dine .class filer in en .jar fil (java's version af .zip) og så finde et program der kakker hele møjet sammen med javaVM til en .exe fil. Samtidig mister du så også java's "run anywhere" fordel. og hvis du gør det på en winXP har du nul og nix garanti for at den .exe også vil virke på Win98 eller win2000
aner intet on JBuilder. Undgår den slage "vi gør det for dig" programmer som pesten indtil jeg har lært sproget og ved hvordan man gør det selv. Det må andre svare på.
hvor skriver man det "java KlassMedMain"? går ud fra det er på en linux-maskine? er på en winXp.. Jeg ville egentlig os helst skrive "ren" kode uden nogen IDE-program, men så ved jeg ikke hvordan jeg får den komplimeret?
men kan man ikke lave programmer med java så? fx et som jeg beskriver i spørgsmålet, eller mere avanceret måske noget regnskab/lagerstyring?
Der er stadig et kommando linie interface i XP. knap 'start', punkt 'programmer', punkt 'tilbehør', punkt "kommando prompt' bringer et DOS-agtigt vindue frem hvor du kan skrive den slags kommandolinier og få dem udført.
Og jo, man kan da sagtens skrive programmer i Java, også koloenormt store programmer. Men hvert sprog har sine regler, også 'udenfor' selve sproget, og de regler skal så læres.
Når jeg prøver at køre den gennem Windows cmd, med "java HejVerden" siger den følgende fejl: (jeg er placeret i mappen hvor HejVerden.java ligger inden jeg kører kommandoen)
Registry key "Software\JavaSoft\Java Runtime Environment\CurrentVersin" has value !1.4", but "1.5" is reguired. Error: could not find java.dll Error: could not find Java 2 Runtime environment.
Jeg har været forbi getjava.com og installeret den nyeste version hvad gør jeg så fejl?
Koden i HejVerden er skrevet i notepad så den burde være "ren"... Bruger følgende kode: (fra javabog.dk)
public class HejVerden { public static void main (String[] arg) { System.out.println("Hej Verden!"); System.out.println("Hvornår smager en Tuborg bedst?"); System.out.println("Hvergang!"); } }
java koden er OK. du har ikke fået installeret en ny nok JRE (Java virtuel maskine) svarende til den java oversætter du bruger. der er flere måder at fixe der: du kan fortælle fortælle hvilken VM du vil oversætte til ...> javac -target 1.4 KlasseMedMain ;; usikker mht hvordan versionsnummeret skal angives. hvis arne er uenig, så tro til enhver tid på ham :-)) eller du kan installere en ny nok VM til at den passer til compileren
det kan være din classpath variabel (environment variables) skal udvides så den også peger derhen hvor der ligger en fil med navnet 'java.dll'
... iøvrigt, kunne i give et eksempel på hvilke programmer der er skrevet i Java? Synes ikke jeg bruger mange ting som ikke er exe-filer, og det eneste Java jeg kan komme på jeg bruger, er apples på internettet som fx webbank?
server side web (J2EE) - en del meget store web sites bruger det
almindelige desktop apps - der er ikke saa mange men trods alt nogen - bl.a. er de fleste java tools saasom JBuilder lavet i Java, men hvis du soeger paa computerworld saa var der for en maaneds tid siden en historie om et dansk spil firma som havde lavet det meste af deres nye spil i Java, fordi det var langt nemmere at lave baade windows og linux version
infrastruktur - IBM WebSphere er ret udbredt, OpenOffice.org 2.0 database delen er lavet i Java
Hvis jeg skriver "c:\programmer\java\jdk1.5.0_06\bin\javac -classpath . HejVerden.java" kan jeg bagefter bruge "java HejVerden", men kan det passe det skal være så bøvlet for at teste et script hver gang?
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.