Nieuws:

Welkom, Gast. Alsjeblieft inloggen of registreren.
Heb je de activerings-mail niet ontvangen?

Auteur Topic: Probleem met jar bibliotheek  (gelezen 1796 keer)

Probleem met jar bibliotheek
« Gepost op: 2008/10/18, 13:38:32 »
Ik probeer het volgende bestand te compiteren en te runnen via de terminal.
Compileren doe ik met het commando:
javac -classpath Opgave_7o1.javaDit gaat goed, (ik krijg toch geen foutmeldingen).
Maar als ik het nu wil uitvoeren met het commando:
java Opgave_7o1Dan krijg ik volgende foutmelding:
Exception in thread "main" java.lang.NoClassDefFoundError: tio/Console
at Opgave_7o1.main(Opgave_7o1.java:10)
Caused by: java.lang.ClassNotFoundException: tio.Console
at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
at java.lang.ClassLoader.loadClass(ClassLoader.java:323)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
at java.lang.ClassLoader.loadClass(ClassLoader.java:268)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:336)
... 1 more
import tio.*;
import java.lang.Math.*;
class Opgave_7o1{
public static void main(String[] args){
int number = (int)(Math.random() * 501);
int input = 0;

do{
System.out.println("Geef een getal in");
input = Console.in.readInt();
if(input > number)
System.out.println("Te groot");
else if(input < number)
System.out.println("Te klein");
} while(input != number);

System.out.println(input + "\t" + number);
}
}
Heeft iemand enig idee wat ik fout doe?

Offline profoX

  • Lid
    • wesley
    • Lionslink
Probleem met jar bibliotheek
« Reactie #1 Gepost op: 2008/10/18, 15:40:40 »
Hah. Die oefening komt mij bekend voor :)
Zit jij toevallig niet bij mij in de klas (1 Ba Informatica, UHasselt) ofzo ? :P

Je moet "java" vertellen dat het als classpath zowel tio.jar als de huidige directory gebruikt, op deze manier:
java -classpath tio.jar:. Opgave_7o1
« Laatst bewerkt op: 2008/11/30, 22:29:26 door profoX »
Human Knowledge Belongs To The World -- Antitrust (2001)
Nederlandstalige Ubuntu documentatie van Ubuntu-NL (wiki)

Probleem met jar bibliotheek
« Reactie #2 Gepost op: 2008/10/18, 16:19:06 »
Ja idd, informatica aan Uhasselt.

Merci voor de reactie.

Probleem met jar bibliotheek
« Reactie #3 Gepost op: 2008/10/19, 18:24:13 »
public class Opgave_7o1{
    public static void main(String[] args){
        int number = (int)(Math.random() * 501);
        int input = -1;

        do{
            System.out.println("Geef een getal in");
            while(input == -1) {
                  String s = System.in.readLine();
                  input = Integer.parseInt(s);
                  input == 0 ? input--: ;
            }
            if(input > number)
                System.out.println("Te groot");
            else if(input < number)
                System.out.println("Te klein");
        } while(input != number);

        System.out.println(input + "\t" + number);
    }
}
Voila, dependancy minder! :P
I use a Unix-based system, that means I'll get laid as often as I have to reboot.
LibSylph
SeySayux.net

Offline profoX

  • Lid
    • wesley
    • Lionslink
Probleem met jar bibliotheek
« Reactie #4 Gepost op: 2008/10/19, 20:44:17 »
SeySayux:

- System.in.readLine() bestaat niet, enkel System.in.read(). Wat Console.in.readLine() effectief doet is via System.in.read() telkens 1 character inlezen tot het een newline character ("\n") tegenkomt.. Kijk maar in de sourcecode van tio.Console. Met BufferedReader etc. zou het wel gedaan kunnen worden op een redelijk eenvoudige manier, maar dan kunnen we net zo goed Console van het tio-pakket blijven gebruiken, en dan is dat nog eenvoudiger..

- De ternary operator kan in Java niet op die manier gebruikt worden (gelukkig maar :P). Echter veronderstellende dat je dit bedoelt "if (input == 0) input--;" dan klopt de code niet. Waarom zou men niet het getal 0 mogen gokken? Het gegenereerde nummer ligt tussen 0 en 500 met 0 en 500 inbegrepen. Nog een grotere fout is dat na de eerste keer dat een getal wordt ingegeven de variabele input niet meer gelijk is aan -1 en dus er geen nieuw getal meer wordt opgevraagd. Resultaat: oneindige lus...

Geef mij dan toch maar het stukje code van n3p3nthess ;)
Human Knowledge Belongs To The World -- Antitrust (2001)
Nederlandstalige Ubuntu documentatie van Ubuntu-NL (wiki)

Probleem met jar bibliotheek
« Reactie #5 Gepost op: 2008/10/20, 17:16:14 »
Citaat van: profoX
SeySayux:

- System.in.readLine() bestaat niet, enkel System.in.read(). Wat Console.in.readLine() effectief doet is via System.in.read() telkens 1 character inlezen tot het een newline character ("\n") tegenkomt.. Kijk maar in de sourcecode van tio.Console. Met BufferedReader etc. zou het wel gedaan kunnen worden op een redelijk eenvoudige manier, maar dan kunnen we net zo goed Console van het tio-pakket blijven gebruiken, en dan is dat nog eenvoudiger..

- De ternary operator kan in Java niet op die manier gebruikt worden (gelukkig maar :P). Echter veronderstellende dat je dit bedoelt "if (input == 0) input--;" dan klopt de code niet. Waarom zou men niet het getal 0 mogen gokken? Het gegenereerde nummer ligt tussen 0 en 500 met 0 en 500 inbegrepen. Nog een grotere fout is dat na de eerste keer dat een getal wordt ingegeven de variabele input niet meer gelijk is aan -1 en dus er geen nieuw getal meer wordt opgevraagd. Resultaat: oneindige lus...

Geef mij dan toch maar het stukje code van n3p3nthess ;)
Het is dan ook al een volle 2 weken dat ik geen java meer geprogrammeerd heb. Dat, en dat ik nooit System.in gebruik -- input doe ik via een GUI of een controller library (muis, keyboard, joystick).

- SeySayux
I use a Unix-based system, that means I'll get laid as often as I have to reboot.
LibSylph
SeySayux.net