Thinking in Java 3

0

Witam.
Ściągnąłem sobie książkę Thinking in Java Edycja Polska.I mam problem i doszedłem do strony 104 gdzie jest przykład użycia operatorów matematycznych który zamieszczę poniżej.
[code]
//: c03:MathOps.java
// Demonstracja operatorów matematycznych.
// Z książki 'Thinking in Java, 3rd ed.' (c) Bruce Eckel 2002
// www.BruceEckel.com. Patrz uwagi w pliku CopyRight.txt.
import com.bruceeckel.simpletest.;
import java.util.
;

public class MathOps {
static Test monitor = new Test();
// skrót wypisujący łańcuch i liczbę całkowitą:
static void printInt(String s, int i) {
System.out.println(s + " = " + i);
}
// skrót wypisujący łańcuch i liczbę rzeczywistą:
static void printFloat(String s, float f) {
System.out.println(s + " = " + f);
}
public static void main(String[] args) {
// Stwórz generator liczb losowych,
// domyślnie inicjowany przez aktualny czas:
Random rand = new Random();
int i, j, k;
// Wybierz wartość do 1 do 100:
j = rand.nextInt(100) + 1;
k = rand.nextInt(100) + 1;
printInt("j", j); printInt("k", k);
i = j + k; printInt("j + k", i);
i = j - k; printInt("j - k", i);
i = k / j; printInt("k / j", i);
i = k * j; printInt("k * j", i);
i = k % j; printInt("k % j", i);
j %= k; printInt("j %= k", j);
// Testy na liczbach zmiennoprzecinkowych:
float u,v,w; // stosuje się również do typu double
v = rand.nextFloat();
w = rand.nextFloat();
printFloat("v", v); printFloat("w", w);
u = v + w; printFloat("v + w", u);
u = v - w; printFloat("v - w", u);
u = v * w; printFloat("v * w", u);
u = v / w; printFloat("v / w", u);
// poniższy kod działa również dla typów
// char, byte, short, int, long,
// oraz double:
u += v; printFloat("u += v", u);
u -= v; printFloat("u -= v", u);
u = v; printFloat("u = v", u);
u /= v; printFloat("u /= v", u);
monitor.expect(new String[] {
"%% j = -?\d+",
"%% k = -?\d+",
"%% j \+ k = -?\d+",
"%% j - k = -?\d+",
"%% k / j = -?\d+",
"%% k \
j = -?\d+",
"%% k % j = -?\d+",
"%% j %= k = -?\d+",
"%% v = -?\d+\.\d+(E-?\d)?",
"%% w = -?\d+\.\d+(E-?\d)?",
"%% v \+ w = -?\d+\.\d+(E-?\d)??",
"%% v - w = -?\d+\.\d+(E-?\d)??",
"%% v \
w = -?\d+\.\d+(E-?\d)??",
"%% v / w = -?\d+\.\d+(E-?\d)??",
"%% u \+= v = -?\d+\.\d+(E-?\d)??",
"%% u -= v = -?\d+\.\d+(E-?\d)??",
"%% u \= v = -?\d+\.\d+(E-?\d)??",
"%% u /= v = -?\d+\.\d+(E-?\d)??"
});
}
} ///:~
[/code]
Problem mój polega na tym że po kompilacji niby wszystko pięknie i ładnie utworzył się plik Class.Ale próbując go uruchomić mam taki o to wynik :
[url]http://www.fotosik.pl/pokaz_obrazek/pelny/4485e2e272b1f660.html[/url]
więc problem chyba lezy w import com.bruceeckel.simpletest.
; ??
Jak myślicie o co tu chodzi?
W netbeansie przykładowy program przepisany z tej książki również nie działa:
[url]http://www.fotosik.pl/pokaz_obrazek/pelny/947b2b0a7db4b724.html[/url]

0

Dołączyłeś do CLASSPATH klasy/biblioteki pakietu com.bruceeckel.simpletest ?

0

Nie dołączyłem ponieważ nie wiem jak to zrobić.Jeżeli mógłbyś pokrótce wytłumaczyć: http://www.angielskie.republika.pl/translator.html jak to zrobić byłbym bardzo wdzięczny.

0

CLASSPATH jest zmienną środowiskową, zmienia się jej wartość w standardowy sposób. Windows:
Utworzenie zmiennej

set CLASSPATH=lista_katalogów_oddzielonych_średnikami

Zmiana wartości zmiennej

set CLASSPATH=%CLASSPATH%;lista_katalogów_oddzielonych_średnikami

U ciebie sprawa jest bardziej zagadkowa bo kompilator widzi pakiet com.bruceeckel.simpletest.
Sprawdź czy nie masz zainstalowanych dwóch wersji javy, kompilator korzysta z jednej, JRE z drugiej.
Rozejrzyj się - w poszukiwaniu wspomnianego pakietu - po katalogach ..lib/ext w katalogach zawierających JDK i JRE. Może być tak, że ten pakiet jest w JDK (i widzi go kompilator), a nie ma go w JRE.

0

Jeżeli mam to w folderze C:\thija3\com\bruceeckel\simpletest
To muszę utworzyć coś takiego tak:
Prawym moj komputer itd.
zmienna systemowa:
nazwa zmiennej:CLASSPATH
wartość zmiennej:set CLASSPATH=%CLASSPATH%;C:\thija3;C:\thija3\com;C:\t hija3\com\bruceeckel\simpletest
czy tak?Bo jeżeli tak to u mnie to w dalszym czasie nie działa.No chyba że robię coś źle to proszę Cię popraw mnie jeśli możesz.

0

Jesli w tym katalogu sa pliki .class, to musisz do classpath dodac tylko "C:\thija3"
wartosc zmiennej bez set i jej nazwy, tylko sam katalog, jak podalem wyzej, bez cudzyslow
przyklady z setCLASSPATH=costam koledzy podawali jak ustawiasz to z linii polecen, tymczasowo, ty ustawiasz na trwale, inaczej, i nie uzywasz set
pozdro

1 użytkowników online, w tym zalogowanych: 0, gości: 1