PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Java...



Fierce Deity
05.09.2007, 18:14
Ich hab mir von meinem Infolehrer heute ein JavaEditor geben lassen, nachdem mich überraschend die Botschaft erreicht hat, dass wir ab nächstem Jahr nichtmehr mit Pascal arbeiten werden.
Nun habe ich aber schon nen bisschen vorgearbeitet, aber halt mit Pascal.
Und mein problem is... Ich kapier Java einfach nicht.
Ich verstehe nicht wie man Variablen definiert, ich verstehe nicht wie man eingegebene Werte lesen lässt... kurzum: ich verstehe nichts.

Daraus folgend hätte ich jetz folgende Bitte:
Jemand, der meint sich mit Java auszukennen, möge mich doch bitte kontaktieren und mir ein wenig helfen.

Oder:
Irgendjemand gibt mir einen einfachen Beispielquelltext in welchem man durch betätigen einer Taste bzw. Eingabe einer Taste und dann durch drücken auf Enter den Wert einer Variablen erhöhen / senken kann.

In Pascal sähe das in etwa so aus *mal eben gescriptet hat, aber keine Garantie dass es auch funktionieren würde*

PROGRAM Oberflaechensimulation;
USES Crt;


VAR
y: ShortInt;
Key: extended;

BEGIN
TextBackground (0);
TextColor (2);
WriteLn ('Eine Virtuelle Oberflaechensimulation.');
REPEAT
Write ('Bewege dich durch den Nummernblock. (8,5,4,6) ');
ReadLn ('Key');
IF Key = 8
THEN
y := y + 1;
WriteLn ('Du bist 1 Feld nach Norden gereist.');

UNTIL y=10;
WriteLn ('Du hast das nördlichste Ende erreicht. Drücke irgendeine Taste um zu beenden.');
ReadKey;
END.

Wenn mir das bitte jemand in Java übertragen könnte, so dass ich die Prinzipien verstehe, dann wäre ich diesem jemand wirklich sehr dankbar :)

Lukas
05.09.2007, 18:45
Leute, wir haben ein Programmierforum :rolleyes: *schieb* *in den Staff geh und deutlicheren Hinweis auf besagtes Forum beantrag*

Fierce Deity
05.09.2007, 18:46
oh tatsache^^
War zu gut versteckt :p

Hisoka
05.09.2007, 19:18
Hier mal das passende in Java:

import java.util.Scanner;
public class Main {

/**
* @param args
*/
public static void main(String[] args) {
int y=0; // Deklaration der Integervariable y
//mit der funktion println kann man eine Zeile ausgeben
System.out.println("Eine Virtuelle Oberflaechensimulation.");
//Scanner ist eine Klasse mit der man dinge einlesen kann
Scanner s = new Scanner(System.in);
do{
System.out.println("Bewege dich durch den Nummernblock. (8,5,4,6)");
//festlegen der Variable Key und mit nextInt eine Zahl einlesen
int key = s.nextInt();
//hier hast du eine passende Abfrage
if(key == 8){
y=y+1; // entspricht y++;
}
}while(y<10);
}

}

Fierce Deity
05.09.2007, 19:29
Gut danke, ich werd das jetz mal verinnerlichen und damit rumspielen bis es klappt wie es klappen soll :)

Edit: Wies aussieht fehlt mir da eine Klassenbibliothek oder sonsitg, fakt ist, dass java.util.scanner nicht importiert werden kann ôo
Ich begebe mich nun auf die Suche nach der Klassenbibliothek...

Wie ich grade merke hat des Runtime Enviroment gefehlt. Muss einem ja auch mal gesagt werden ^^"

Edit 2: Runtime installiert, java.util.Scanner kann immer noch nciht importiert werden.

Drakes
05.09.2007, 19:53
Du musst auch nicht die Runtime Environment installieren (zum Anschauen natürlich), sondern das SDK(Software Development Kit). (Wobei das auf den Editor draufankommt, eventuell ist schon ein SDK drin. Denn Compiler müsstest du dann über Command/Cmd ausführen.)

Fierce Deity
05.09.2007, 19:59
Das hat sich zusammen installiert - gesetz dem Fall, JDK = SDK.
naja jem. hat mir gesagt, dass ich den Compiler darauf einstellen muss.
Und das tu ich grad, aber seltsamer weise finde ich den ordner nicht, in den ich das installiert hab.

Hisoka
05.09.2007, 20:30
Java sollte sich unter : C:/Programme/Java/jdk.../ finden.

DFYX
05.09.2007, 23:40
Schau am besten mal im gepinnten Tutorialthrad oder in der entsprechenden Bereich auf der Seite (www.dev-comm.de) nach. Da sollten einige recht gute Anfängertutorials dabei sein.

Fierce Deity
06.09.2007, 14:01
Java sollte sich unter : C:/Programme/Java/jdk.../ finden.

jdk1.5.0_06.

@DFYX: Ich hab das mal kurz überflogen und keine Lösung gefunden. Ich werde es heute noch irgendwann intensiver lesen ;)

Edit:
Der Pfad des Comilers war noch auf 1.4 eingerichtet... jetz gehts

FF
06.09.2007, 15:56
http://www.galileocomputing.de/openbook/javainsel6/ << ich lege dir dieses (e-)book ans herz, da wird java recht gut erklärt. Wenn man überhaupt keine Ahnung von Programmieren hat, hilfts einem nicht, aber wenn man das Gurndprinzip der Programmierung versteht (idealerweise auch noch C Artige Syntax, ist bei dir jetzt ned der fall.... aber so schwer ist java auch nech...) behandelt das buch eigentlich alles was man wissen braucht. und so.

btw, deine Javaversion ist reichlich veraltet, du solltest die aktualisieren.
wobei... im prinzip kannst du es auch sein lassen, aber ich persönlich arbeite lieber mit aktuellen programmversionen, auch wenn ich die Verbesserungen von Java 6 gegenüber 5 nicht wirklich nutze.

Fierce Deity
06.09.2007, 16:19
Die Sache is, dass ich das alles für Info mache.
Was nutzt mir eine neue Version wenn sie nicht bewertet wird?
Und selbst proggrammiere ich eher wenig, und wenn dann sowieso mit Pascal.

FF
06.09.2007, 17:13
das ist ja kein problem, auf dem auszuführenden rechner sollte nur das aktuelle jre installiert sein, dann funktioniert das auch.
aber du profitierst halt von bugfixes, eventuellen speedverbesserungen usw.

starlight86
06.09.2007, 18:33
Das schaut mir nach falschem Classpath aus, irgendwo in der Systemsteuerung kann man Umgebungsvariablen setzen, mache eine neue 'Classpath' , die hat den Wert, wo dein SDK hininstalliert ist. Ausserdem brauchst du eine Umgebungsvariable 'Path', die sollte deine JRE und den aktuellen Ordner enthalten: 'C:\Pfad\zum\jdk;.', ah, um dir nicht dein System zu zerschiessen, solltest du das java-zeugs nur anhaengen, wenn also bereits irgendwas in Path drinsteht, das drinlassen, und mit einem Semikolon abtrennen. (und es kann sein, dass Umgebungsvariablen unter windows mit einem $ beginnen)

Sag deinem Info-Lehrer, dass java jetzt gpl-lizensiert ist, und sich die Schule deswegen das neueste JDK/JRE zulegen kann ;)

Fierce Deity
10.09.2007, 16:48
Ich benutze gleich den alten thread denn im grunde ist es immernoch das selbe problem. Hier der Code:

import java.util.Scanner;
public class Main {

/**
* @param args
*/
public static void main(String[] args) {
int y=0;
int x=0;


System.out.println("Eine Virtuelle Oberflaechensimulation.");

Scanner s = new Scanner(System.in);
System.out.println("Steuere das Spiel durch Eingabe von Kommandos. help für mehr Informationen. Aber solange ich das mit den strings noch net kapiert hab... 8,4,5,6 ...");

do{
char input = s.readchar();

if(input == 'n'){
y=y+1;
System.out.println("Position Y:");
System.out.println(y);
System.out.println("Position X:");
System.out.println(x);
}
if(input == 'w'){
x=x-1;
System.out.println("Position Y:");
System.out.println(y);
System.out.println("Position X:");
System.out.println(x);
}
if(input == 's'){
y=y-1;
System.out.println("Position Y:");
System.out.println(y);
System.out.println("Position X:");
System.out.println(x);
}
if(input == 'o'){
y=y+1;
System.out.println("Position Y:");
System.out.println(y);
System.out.println("Position X:");
System.out.println(x);
}
}while (y<10);
}

}

Hier die Fehlermeldung vom Compiler:


symbol : method readchar(char)
location: class java.util.Scanner
s.readchar(input);
^
1 error


Meine Absicht ist es etwas zu erschaffen, das den alten MUDS ähnlich kommt. Also mit Kommandoeingabe etc.

Wies aussieht ist die Methode falsch, wenn es nur daran liegt bitte ich darum dass mir jemand die richtige methode dafür nennt ;)

Lukas
10.09.2007, 17:02
Guck dir doch einfach mal die Dokumentation (http://java.sun.com/javase/6/docs/api/java/util/Scanner.html) zu der Klasse an. Ueberhaupt ist die API-Doku (http://java.sun.com/javase/6/docs/api/) eigentlich ein unverzichtbares Werkzeug beim Java Programmieren, du solltest lernen, damit umzugehen, statt dir alles vorkauen zu lassen.