[java] probleem met compileren *

Pagina: 1
Acties:
  • 149 views sinds 30-01-2008
  • Reageer

  • verytallman
  • Registratie: Augustus 2001
  • Laatst online: 24-04 13:47
Ik heb op school een vak programmeren waarvoor we simpelen programma;s schrijven. Om het programma te draaien moet ik altijd dit doen :
ipc C_Bus.java (naar bytecode omzetten)
ipi C_Bus.class (programma uitvoeren)

Nu heb ik op mijn eigen Windows XP pc Java SDK geinstalleerd en probeer ik:
javac C_Bus.java

Dit geeft 5 errors, terwijl op school dit helemaal geen error geeft.

De code van Bestand.java:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
class C_Bus {
    
    static final int    LOOPTIJD = 17, //minuten
                BUSTIJD = 8, //minuten
                BUSFREQ = 15, //om het kwartier
                UUR = 60; //minuten in een uur
            
    int     tijdstip,
        resttijd,
        wachttijd,
        reistijdBus;
            
    void start () {
        out.println("Geef het tijdstip");
        tijdstip = in.readInt();
        
        resttijd = tijdstip % BUSFREQ;
        wachttijd = BUSFREQ - resttijd;
        reistijdBus = wachttijd + BUSTIJD;
        
        if (tijdstip > UUR) {
            out.println("Dat kan niet");
        }
        else if (reistijdBus > LOOPTIJD) {
            out.println("U kunt beter gaan lopen");
        }
        else {
            out.println("U kunt beter met de bus");
        }
    }
    
    public static void main (String[] argv) {
        new C_Bus().start();
    }
}


De errors:

Afbeeldingslocatie: http://home.zonnet.nl/jpstout/errors.gif

  • jordz.
  • Registratie: Januari 2002
  • Laatst online: 27-06-2025
Ik ben ook nieuw met java maar moet je niet System.out.println doen ? :)

Arch Linux


Verwijderd

Out en In zijn onderdeel van de System class. Die moet je dus includen

Dus ipv out en in System.out en System.in gebruiken of bovenin een import system.*; toevoegen

Verwijderd

hey, ik denk dat probleem is dat veel scholen aparte klasses schrijven voor invoer en uitvoer van gegevens, alzo hun beginnende studenten het niet te lastig te maken in het begin. kijk eens na of je nergens een klasse in en out vind op je school pc's, of vraag het eens aan de leraar...
btw, die out kan wel system.out.println worden, maar of system.in.readint bestaat?

  • verytallman
  • Registratie: Augustus 2001
  • Laatst online: 24-04 13:47
- Waarom werkt het programma wel op mijn school ?
- tijdstip = System.in.readInt(); > geeft een foutmelding
- Jan kan je iets meer info geven over een import system

Verwijderd

Verwijderd schreef op 05 november 2004 @ 01:30:
Out en In zijn onderdeel van de System class. Die moet je dus includen

Dus ipv out en in System.out en System.in gebruiken of bovenin een import system.*; toevoegen
Dit is echt zo *niet* waar. Nou, deels... Je hoeft system niet te importeren...

  • Kuhlie
  • Registratie: December 2002
  • Niet online
verytallman schreef op 05 november 2004 @ 01:24:
Om het programma te draaien moet ik altijd dit doen :
ipc C_Bus.java (naar bytecode omzetten)
ipi C_Bus.class (programma uitvoeren)
ipc != javac blijkbaar... ik weet niet wat ipc is, misschien een precompiler van het een of ander. Draai eens ipc op je school zonder argumenten, misschien krijg je dan meer informatie over wat het is waardoor je het misschien kan vinden en downloaden ;)

  • Eelke Spaak
  • Registratie: Juni 2001
  • Laatst online: 12-05 15:26

Eelke Spaak

- Vlad -

Verwijderd schreef op 05 november 2004 @ 01:30:
Out en In zijn onderdeel van de System class. Die moet je dus includen

Dus ipv out en in System.out en System.in gebruiken of bovenin een import system.*; toevoegen
Jorgen heeft gelijk; ik zal even wat uitleg geven.

De System klasse zit in de package java.lang, en die hoef je nooit te importeren, dat wordt namelijk altijd automatisch gedaan. De objecten in en out zijn public static velden in de System klasse, dus moet je ze gewoon met ClassName.veld.methode() aanspreken: System.out.println() bijvoorbeeld.

TheStreme - Share anything with anyone


Verwijderd

Ah, aan de opgave te zien ben je eerste jaars op de de VU

Op de VU wordt gebruikt gemaakt door de Input en Output classes geschreven voor het vak Inleiding Programmeren. Op de VU worden deze automatisch aan het classpath toegevoegd door ipc en ipi.

Je kunt de classes ook thuis gebruiken door ze van de VU te downloaden:
http://www.few.vu.nl/~matty/gti/

compileer ze en voeg ze aan je classpath toe (of copieer ze eenvoudig in de zelfde directory als de java bestanden van de opgave en compileer ze telkens mee met de opgave)

  • Ajunne
  • Registratie: December 2001
  • Laatst online: 09-09-2025

Ajunne

Uitje

Verwijderd schreef op 05 november 2004 @ 01:30:
Out en In zijn onderdeel van de System class. Die moet je dus includen

Dus ipv out en in System.out en System.in gebruiken of bovenin een import system.*; toevoegen
Nu zit je er wel helemaal naast. import gebruik je wanneer je classes wilt aanspreken in een bepaalde package. Systeem is helemaal geen package, maar is een class, dus die kun je zowiezo al niet importen. in, out en err zijn velden van System, die classes van het type PrintStream zijn, en waar je bijvoorbeeld de methods print(), println() en printf() (java 5.0) kunt op uitvoeren.

Om even te antwoorden op de vraag: als je out vervangt door System.out, en in door System.in zou het moeten werken

  • RSchellhorn
  • Registratie: Augustus 2001
  • Laatst online: 19-05 12:56
out is een public static field van System. System is dus wel verplicht, want anders zou java gaan zoeken naar een field out van je klasse C_Bus.

[ Voor 73% gewijzigd door RSchellhorn op 05-11-2004 15:05 . Reden: methode importeren :O hoor mij ]

"Ik heb zo veel soep gegeten, dat kan een mens niet aan. Ik heb zo veel soep gegeten, kan bijna niet meer staan. Ik zat daar maar te slurpen achter die grote kop en als ik bijna klaar was, dan schepten ze weer op!" (Hans Teeuwen)


Verwijderd

Hmmm, zo te zien volg je Inleiding Programmeren aan de VU? Die 'in' en 'out' zijn instanties van resp. klassen 'Input' en 'Output'. Deze zijn door de docent geschreven om zo het inlezen van bestanden op een gestructureerde manier te leren.

Oftewel, ftp even naar bijv. galjas.cs.vu.nl, ga naar /usr/prac/ip/lib en haal daar even Input.java en Output.java op. Óf je kunt natuurlijk gewoon via telnet gaan proggen, maarja, dan moet je wel wanhopig zijn ;)

Als je geen VU-student bent heb ik niets gezegd (maar zou het ongeveer wel hetzelfde verhaal zijn :P)...

edit:
Ergens hierboven heeft iemand dus hetzelfde ongeveer al gezegd, ff niet gezien. Is nog een makkelijkere manier om aan die classes te komen ook ...

[ Voor 17% gewijzigd door Verwijderd op 05-11-2004 15:24 ]


  • verytallman
  • Registratie: Augustus 2001
  • Laatst online: 24-04 13:47
Ik beken....ik zit inderdaad op de VU...

Ik heb vandaag ook van mijn docent het verhaal van de Input en Output classes gehoort en heb ze nu gedownload, het moet nu wel lukken.

Hoe weten jullie dat ik ik de vu zit? Zitten / zaten jullie er ook op ?

  • moto-moi
  • Registratie: Juli 2001
  • Laatst online: 09-06-2011

moto-moi

Ja, ik haat jou ook :w

Gatverdamme, dat menen jullie niet :? :X
:r @ de leraren die geeneens genoeg verstand hebben om door te hebben dat je op zo'n manier leerlingen brakke niet portable code laat schrijven.
WTF is er nou mis met System.out.println gebruiken :/ :?

God, root, what is difference? | Talga Vassternich | IBM zuigt


  • Eelke Spaak
  • Registratie: Juni 2001
  • Laatst online: 12-05 15:26

Eelke Spaak

- Vlad -

moto-moi schreef op 05 november 2004 @ 16:49:
Gatverdamme, dat menen jullie niet :? :X
:r @ de leraren die geeneens genoeg verstand hebben om door te hebben dat je op zo'n manier leerlingen brakke niet portable code laat schrijven.
WTF is er nou mis met System.out.println gebruiken :/ :?
Nouja, hier aan de RU Nijmegen leer je bij de eerste programmeercursus (Algoritmiek) de eerste paar GUI-programma's ook met wat docent-gebakken classes implementeren. Dit heeft wel tot voordeel dat je je kan concentreren op het ontwerpen en analyseren van algoritmen; dat is immers toch het doel van een wetenschappelijke opleiding.

Maar eigenlijk ben ik het wel met je eens: gewoon goed code leren schrijven is ook belangrijk :) .

TheStreme - Share anything with anyone


  • Glimi
  • Registratie: Augustus 2000
  • Niet online

Glimi

Designer Drugs

(overleden)
moto-moi schreef op 05 november 2004 @ 16:49:
Gatverdamme, dat menen jullie niet :? :X
:r @ de leraren die geeneens genoeg verstand hebben om door te hebben dat je op zo'n manier leerlingen brakke niet portable code laat schrijven.
WTF is er nou mis met System.out.println gebruiken :/ :?
Ey rantbak, wat is er mis met libraries? Mogen we opeens ook geen JUnit, Ant, Apache commons etc meer gebruiken omdat het volgens jou niet portable is? Het is gewoon gecompileerde Javacode hoor en is dus 99% zeker portable.

Het voordeel is trouwens niet in de output, aangezien alles wel naar een string kan converteren, maar eerder de input, aangezien System.in alleen Strings oplevert.
Als jij wilt focussen op de basics (while, if, for) dan snap ik best dat je futaliteiten als convertaties waarbij excepties kunnen optreden wilt vermijden.
Slayer08 schreef op 05 november 2004 @ 14:55:
out is een public static field van System. System is dus wel verplicht, want anders zou java gaan zoeken naar een field out van je klasse C_Bus.
Java 1.5 static imports

[edit] Ik wil static imports ook niet aanbevelen maar ze zijn dus ook niet verplicht (en voor de Math class vind ik ze _erg_ handig)

[ Voor 22% gewijzigd door Glimi op 06-11-2004 14:41 ]


  • RSchellhorn
  • Registratie: Augustus 2001
  • Laatst online: 19-05 12:56
Van die pagina:
"So when should you use static import? Very sparingly! Only use it when you'd otherwise be tempted to declare local copies of constants, or to abuse inheritance (the Constant Interface Antipattern)."

Niet aan te bevelen dus hier... :)

Het wordt misschien wel korter, maar niet duidelijker, vandaar dat je dit beter niet kan doen.

[ Voor 14% gewijzigd door RSchellhorn op 06-11-2004 14:41 ]

"Ik heb zo veel soep gegeten, dat kan een mens niet aan. Ik heb zo veel soep gegeten, kan bijna niet meer staan. Ik zat daar maar te slurpen achter die grote kop en als ik bijna klaar was, dan schepten ze weer op!" (Hans Teeuwen)

Pagina: 1