TweakPC

Zurück   Computer Hardware Forum - TweakPC > Games und Software > Programmiersprachen

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 15.06.2008, 00:39   #26 (permalink)
Overclocker
 

Registriert seit: 24.05.2002
Beiträge: 200

BenniG. wird schon bald berühmt werdenBenniG. wird schon bald berühmt werden

Standard AW: Warum eine Endlosschleife?

if-schleife.de

Zitat:
Jemand eine Idee woran es liegt bzw. wie ich es herausfinden könnte? Die Api hilft mir leider nicht weiter.
Was genau daran ist dir unklar?
Die Ausgabe hätte ich genau so erwartet..
BenniG. ist offline   Mit Zitat antworten
Alt 15.06.2008, 09:50   #27 (permalink)
Stickstoff Junkie
 
Benutzerbild von DonSchado
 

Registriert seit: 03.01.2006
Beiträge: 3.208

DonSchado ist ein wunderbarer AnblickDonSchado ist ein wunderbarer AnblickDonSchado ist ein wunderbarer AnblickDonSchado ist ein wunderbarer AnblickDonSchado ist ein wunderbarer AnblickDonSchado ist ein wunderbarer AnblickDonSchado ist ein wunderbarer Anblick

Standard AW: Warum eine Endlosschleife?

if-Schleife!? Was'n das?

Du schreibst "solange"(c != -1)...

Wo soll c den Wert -1 bekommen?
DonSchado ist offline   Mit Zitat antworten
Alt 15.06.2008, 12:11   #28 (permalink)
PC Schrauber
 

Registriert seit: 11.05.2006
Beiträge: 131

Greeven befindet sich auf einem aufstrebenden Ast

Standard AW: Warum eine Endlosschleife?

Ein richtiges lol an if-schleife.de, ich werde versuchen es mir zu merken.

Nach dem letzten "Ende der if-Schleife." (tz wer das geschrieben hat... if-Schleifen gibts doch gar nicht^^) müsste noch ein "vor read()" kommen und dann ist der String zu ende und read() kommt, was dann ein -1 für c zurückgibt.
Oder nicht?
Greeven ist offline   Mit Zitat antworten
Alt 15.06.2008, 12:40   #29 (permalink)
Hardware Freak
 

Registriert seit: 28.03.2003
Beiträge: 8.252

redfalcon kann auf vieles stolz sein
redfalcon kann auf vieles stolz sein

Standard AW: Warum eine Endlosschleife?

Hui, hat ne Weile gedauert, bis ich gerafft hab, was das Programm überhaupt machen soll. Gut, ich habs mal eben durch den Debugger gejagt. Die Abfrage endet nicht, weil c nicht -1 wird, sondern nach Abarbeiten des Strings 10 (LF, Linefeed) wird. Außerdem wird c am Ende des Programms immer 13 (CR, Carriage Return, "Zum Zeilenanfang") angehängt.
Ich hab das Programm mal soweit korrigiert, damit es den Sinn erfüllt, den du mMn bezwecken willst. Nicht schön, aber funzt.

PHP-Code:
public class Zeichen
{
    public static 
void main (String[] argsthrows Exception
    
{
    
int c 0;
    
int anzahl 0;

    while (
!= 10)
    {

        
System.out.print ("Vor read()");
        
System.in.read();
        
System.out.print ("nNach read()");

        if (
!= 10)
        {
            
System.out.println ("nASCII-Code: " " Zeichen: " + (charc);
            
anzahl anzahl 1;
            
System.out.println ("Ende der if-Schleife.");

        }

    }
    
anzahl=anzahl-1;
    
System.out.print ("Anzahl: " anzahl);
    }


Btw, interessant, dass das Forum das "\n" nicht zu mögen scheint.
redfalcon ist offline   Mit Zitat antworten
Für diesen Beitrag bedankt sich:
Greeven (15.06.2008)
Alt 15.06.2008, 15:50   #30 (permalink)
PC Schrauber
 

Registriert seit: 11.05.2006
Beiträge: 131

Greeven befindet sich auf einem aufstrebenden Ast

Standard AW: Warum eine Endlosschleife?

So klappts. Vielen Dank. Habe aber trotzdem noch darüber ein paar Fragen:

Vor der Eingabe, die man tätigt, kommt einmal "Vor read()". Damit das aber wirklich so ist, muss ich print() in println() umändern. Ist das bei dir auch so oder hat das einen Grund der nur in meinem Rechner liegt?
Warum gibt read() 10 wieder und nicht -1? Die 10 kenne ich ja von der Ausgabe, aber ich dachte, dass sie das Enter symbolisiert. Meine Vermutung wäre, dass bei Input halt am Ende eine 10 zurückgegeben wird und wenn man der Methode einen String anders zukommen lässt eine -1.
Das mit der 10 ist leider auch nicht der Api zu entnehmen oder?
Und noch der Debugger: Ich hätte das Problem auch selbst finden können, wenn ich mit dem Debugger hätte umgehen können? Kenne ja "Debug File" und habe das grad mal versucht, aber es öffnen sich zwar paar Fenster, aber dort passiert relativ wenig.

Sinn und Zweck der Fragen ist, dass ich nicht immer sofort hier ins Forum kommen
will. Eine gewisse Unabhängigkeit fehlt mir.
Greeven ist offline   Mit Zitat antworten
Alt 15.06.2008, 15:52   #31 (permalink)
Overclocker
 

Registriert seit: 24.05.2002
Beiträge: 200

BenniG. wird schon bald berühmt werdenBenniG. wird schon bald berühmt werden

Standard AW: Warum eine Endlosschleife?

Zitat:
Nach dem letzten "Ende der if-Schleife." [...] müsste noch ein "vor read()" kommen
Das Problem können die Puffer in den Eingabe und Ausgabe-Streams sein. Die werden ggf. zu selten geflusht.
Ein
Code:
System.out.flush();
nach dem "Vor read()" könnte helfen..

Edit:
Zitat:
Meine Vermutung wäre, dass bei Input halt am Ende eine 10 zurückgegeben wird und wenn man der Methode einen String anders zukommen lässt eine -1.
Die -1 _soll_ zurückkommen, wenn man [STRG]+[Z] drückt, was _normalerweise_ "End of Stream" signalisieren soll. Bei deinem Netbeans scheint das nicht zu klappen..
10 ist der ASCII-Code zu Line-Feed, was ausgelöst wird, wenn man [ENTER] drückt.

Zitat:
Und noch der Debugger: Ich hätte das Problem auch selbst finden können, wenn ich mit dem Debugger hätte umgehen können? Kenne ja "Debug File" und habe das grad mal versucht, aber es öffnen sich zwar paar Fenster, aber dort passiert relativ wenig.
Hast du einen Breakpoint gesetzt? Normal geht das über doppelklick auf die Zeilennummer (bzw. den linken bereich im Editor-Fenster)

Geändert von BenniG. (15.06.2008 um 16:02 Uhr)
BenniG. ist offline   Mit Zitat antworten
Alt 15.06.2008, 15:59   #32 (permalink)
Hardware Freak
 

Registriert seit: 28.03.2003
Beiträge: 8.252

redfalcon kann auf vieles stolz sein
redfalcon kann auf vieles stolz sein

Standard AW: Warum eine Endlosschleife?

Zitat:
Zitat von Greeven Beitrag anzeigen
Und noch der Debugger: Ich hätte das Problem auch selbst finden können, wenn ich mit dem Debugger hätte umgehen können? Kenne ja "Debug File" und habe das grad mal versucht, aber es öffnen sich zwar paar Fenster, aber dort passiert relativ wenig.
Welchen Editor nutzt du?
redfalcon ist offline   Mit Zitat antworten
Alt 15.06.2008, 16:46   #33 (permalink)
PC Schrauber
 

Registriert seit: 11.05.2006
Beiträge: 131

Greeven befindet sich auf einem aufstrebenden Ast

Standard AW: Warum eine Endlosschleife?

NetBeans 5.5.1

Bezüglich dem Debuggen: Ich weiß davon nix. (Wusste auch nicht, was ein Breakpoint ist) Jetz habe ich es mal auspobiert und dort hört er dann wohl einfach auf das Programm zu compilieren etc. Aber bevor freundlicher Weise mir versucht wird zu helfen - Hilfe die mich verwirrt, da ich mit vielen Begriffen noch nichts anfangen kann - würde ich wohl erstmal ein Tutorial machen. Wenn ich damit nämlich selbst Fehler finden und Fragen beantworten kann, wäre das natürlich eine Top-Sache.

So stellt sich zum Beispiel auch jetzt die Frage: flushen? Zum ersten mal gehört und so beantworte ich mir momentan die Frage:
Wörterbuch: leeren --> gibt mir schonmal ne Vorstellung davon
Api (es heißt Api oder?) --> "Flushes the stream. This is done by writing any buffered output bytes to the underlying output stream and then flushing that stream."
Also leeren. Aber was das nun kann oder zu was das gut ist.. keine Ahnung.
Greeven ist offline   Mit Zitat antworten
Alt 15.06.2008, 17:34   #34 (permalink)
Overclocker
 

Registriert seit: 24.05.2002
Beiträge: 200

BenniG. wird schon bald berühmt werdenBenniG. wird schon bald berühmt werden

Standard AW: Warum eine Endlosschleife?

Zitat:
Jetz habe ich es mal auspobiert und dort hört er dann wohl einfach auf das Programm zu compilieren etc.
Nein, mit dem compilen hat das nix zu tun. An der Stelle stoppt er die Ausführung des Programms.
Compilen: Übersetzen des Programms in Maschinensprache (bzw. bei Java in den Java Byte Code) => Erzeugen der .class Datei.

Bei einem Breakpoint kannst du die Aufrührung des Programms anhalten und dann über die verschiedenen Funktionen das Programm langsam weiter laufen lassen. Step over, Step Into, Step return sollten über verschiedene Buttons in der Debuger-Perspektive verfügbar sein. Beim angehaltenen Programmzustand kannst du dir dann die Inhalte von Variablen anschauen etc. Bei deinem Mini-Beispiel ist das aber wahrscheinlich zu trivial

Zitat:
So stellt sich zum Beispiel auch jetzt die Frage: flushen?
Java benutzt bei vielen Sachen Streams. Streams sind, wie der Name schon sagt, Datenströme. Aus Performancegründen wird nicht alles, was im Stream verfügbar ist sofort geschrieben (auf den Bildschirm, die Festplatte, etc) sondern zum Teil gepuffert. Wenn man bei einer Datei jedes einzelne Byte einzeln schreiben würde, wäre das sehr langsam.
Anscheinend wird auch bei System.out (was einen Ausgabestrom darstellt) in manchen Fällen (bei mir z.B. nicht) ein Puffer benutzt. D.h. die Ausgabe erfolgt nicht zwingend sofort, sondern evtl. etwas verzögert, zusammen mit einer anderen Ausgabe..
Das Flushen des Puffers erzwingt eine Leerung des Puffers. Der Puffer wird dann auf das Ausgabemedium (Festplatte, Bildschirm) geschrieben.

Daher einfach mal ausprobieren, ob das in deinem Fall hilft..

Geändert von BenniG. (15.06.2008 um 17:40 Uhr)
BenniG. ist offline   Mit Zitat antworten
Für diesen Beitrag bedankt sich:
Greeven (15.06.2008)
Alt 15.06.2008, 18:13   #35 (permalink)
PC Schrauber
 

Registriert seit: 11.05.2006
Beiträge: 131

Greeven befindet sich auf einem aufstrebenden Ast

Standard AW: Warum eine Endlosschleife?

Hat nicht geholfen, aber deinen Gedankengang kann ich jetzt nochvollziehen.
Greeven ist offline   Mit Zitat antworten
Alt 15.06.2008, 18:21   #36 (permalink)
Overclocker
 

Registriert seit: 24.05.2002
Beiträge: 200

BenniG. wird schon bald berühmt werdenBenniG. wird schon bald berühmt werden

Standard AW: Warum eine Endlosschleife?

Starte das Programm mal außerhalb von Netbeans.
Code:
java Zeichen
Vielleicht auch mal Eclipse versuchen. Da kann ich dir genau sagen, wo sich welche Funktion versteckt, oder dir mal ein Demo-Projekt schicken..
BenniG. ist offline   Mit Zitat antworten
Alt 15.06.2008, 18:28   #37 (permalink)
PC Schrauber
 

Registriert seit: 11.05.2006
Beiträge: 131

Greeven befindet sich auf einem aufstrebenden Ast

Standard AW: Warum eine Endlosschleife?

Wenn ich es mit (c != 10) mache läufts. Insofern habe ich das Problem erstmal aus dem Weg. (Wobei es sicherlich ja im Endeffekt ein Bedienfehler ist, da ich nicht weiß, warum es so ist. Nen Grund hat es bestimmt.)

Werde Bescheid geben an dem Tag, an dem ich mir Eclipse installiert habe. Aber erstmal freu ich mich weitermachen zu könne.
Greeven ist offline   Mit Zitat antworten
Alt 15.06.2008, 18:48   #38 (permalink)
Hardware Freak
 

Registriert seit: 28.03.2003
Beiträge: 8.252

redfalcon kann auf vieles stolz sein
redfalcon kann auf vieles stolz sein

Standard AW: Warum eine Endlosschleife?

Programmierst du momentan "nur" so kleine Konsolenprogramme? Wenn ja ist Netbeans oder Eclipse doch totaler Overkill (sofern ihr es nicht in der Schule (?) nutzt). Schau dir mal den JavaEditor an. Kompakt, übersichtlich, simpel und alles was man für den Anfang braucht.
redfalcon ist offline   Mit Zitat antworten
Alt 15.06.2008, 20:21   #39 (permalink)
PC Schrauber
 

Registriert seit: 11.05.2006
Beiträge: 131

Greeven befindet sich auf einem aufstrebenden Ast

Standard AW: Warum eine Endlosschleife?

Den JavaEditor kenn ich nicht. Java mach ich aus freien Stücken heraus. In jungen Jahren hat man ja hier und da immer mal eine Idee über die man gern sinniert. Dafür brauch ich allerdings etwas zum visualisieren.
Java wird da immer gelobt und so kam ich dazu. Habe mir aus diesem Grund ein Buch gekauft und ein Kumpel hat mir letztens eine Cd gegeben mit Videos drauf. Bei dem Buch war NetBeans dabei und auf der Cd werden NetBeans und Eclipse vorgestellt aber alles über NetBeans gezeigt.
Den vermeindlichen Overkill finde ich nicht so schlimm. So weiß man, was noch alles in etwa auf einen zukommt.
Aber ja: momentan ist das nur so kleines Zeug (und ich freue mich immer wieder, wenn es klappt^^)
Greeven ist offline   Mit Zitat antworten
Antwort

Stichworte
endlosschleife


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist aus.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
PowerPoint 2007 - Endlosschleife geht nicht mit dem VIEWER :( Einsatz Windows & Programme 4 17.05.2016 12:14
Geforce 8600 GT 512 nv4_disp Endlosschleife Hardwarebeschleunigung Tamagott NVIDIA GeForce Grafikkarten 6 09.03.2009 17:20
ATI2DVAG: Beim Anschließen des teleblasters hängt das in Endlosschleife genro Windows & Programme 1 23.03.2007 15:51
Mangagirl singt Endlosschleife Catweazle Off Topic 13 08.03.2007 15:02
Grafikkartentest mit Endlosschleife? tomsan75 Benchmarks 3 05.10.2006 07:15


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:50 Uhr.




Powered by vBulletin® Version 3.8.10 (Deutsch)
Copyright ©2000 - 2022, vBulletin Solutions, Inc.
SEO by vBSEO 3.5.2 ©2010, Crawlability, Inc.
Impressum, Datenschutz Copyright © 1999-2015 TweakPC, Alle Rechte vorbehalten, all rights reserved