PseudoCode -> Java-Code

Status
Nicht offen für weitere Antworten.

ILEmax

Mitglied
Hallo Java Profis,
ich bin Softwareentwickler, leider völlig ohne JAVA Kentnisse.
Eine Praktikantin sollte folgendes Pgm schreiben, hat es aber nicht hinbekommen.
Unser Java Entwickler sagt nun das geht auch nicht (ohne weitere Begründung, er ist manchmal so)

Ich hoffe ihr könnt meinen Pseudo Code lesen

Code:
i = 0
schleife solange i = 0
   bildschirmausgabe : bitte zahl eingeben (ein 'weiter' und ein 'ende' Button)
   ergebnis = ergebnis + zahl
   wenn ende gedrückt, i = 1
endeschleife
bildschirmausgabe ergebnis

Es wäre schön, wenn ihr einem Prozeduralen Entwicker mal erklären könntet, warum das nicht in java zu programmieren ist.
Wenn es doch geht würde ich die Lösung gerne der Praktikantin geben.

vielen Dank
Max
 
Zuletzt bearbeitet von einem Moderator:

tfa

Top Contributor
Klar geht das. Sogar ziemlich einfach.

Ist das ein verkappter Versuch, sich die Hausaufgaben machen zu lassen, oder was?
 

diggaa1984

Top Contributor
hm sieht mir auch irgendwie so aus .. ne praktikantin .. die nicht mal das schafft, hat den bereich verfehlt .. nen java-entwickler der die zeilen nicht umsetzen kann, wohl noch mehr o_O
 

ILEmax

Mitglied
Wow, das geht ja schnell.
aber ...
Nein, das ist kein verkappter Versuch Hausaufgaben zu machen
Vielleich muß ich noch sagen das es in SWING gemacht werden soll
Die Lösung unseres java Menschen war, die Werte in einer dimesion (oder so ähnlich) zu speichern und später in einer Schleife mit get. raus zu lesen.
M.E. macht man sich damit den HSp voll, wenn auch nicht in diesem Beispiel.
es geht um Programmier Stil

wär schön, wenn ihr doch ein bischen code hättet.
(Die Praktikantin ist mittlerweile etwas veunsichert, da ich sage es geht (und es nicht beweisen kann), während unser Java mensch sagt, das geht SO nicht.

Danke
Max
 
Zuletzt bearbeitet:

diggaa1984

Top Contributor
Die Lösung unseres java Menschen war ..
also gehts doch!?

im zweifelsfall meint er mit dimension n array in dem die ganzen eingaben jeweils abgelegt werden, alternativ auch eine Liste, und dann wenn man auf ende klickt einfach die ganze liste aufaddieren und ausgeben.

kommt zwar nich ganz hin mit
Code:
ergebnis = ergebnis + zahl
aber am ende steht das gleiche da
 
S

SlaterB

Gast
wie wärs wenn du es in irgendeiner Sprache programmierst, dann wäre die Übersetzung leicht,
Dimensionen gibts nicht, Listen und Arrays dagegen schon, die sind sicher auch in anderen Sprachen bekannt

> Nee, wenn mann ILERPG und Cobol gelernt hat ist Java ein Universum weit weg

und dann bist du für die Java-Praktikantin zuständig und nicht einer der Java-Menschen?
ungünstig gelaufen

(sorry für die Späße drumherum)
 

ILEmax

Mitglied
@diggaa1984
ja, es geht. Nur ist es halt nicht mit der Schleife gelöst.

Ich habs wohl falsch erklärt. Es soll nicht 'Das gleiche Ergebnis' rauskommen sondern so gut wie möglich der Pseudocode (im Orginal ein Strucktogram aus alten RPG-Ausbilder Tagen) umgesetzt werden

@SlaterB
In ILERPG Oder Cobol ist das schnell gemacht.
aber wer will heute noch RPG lernen
RPG (Programmiersprache) ? Wikipedia


Ich bin 'Chef' und misch mich immer ein, wenn jemand sagt: das geht nicht


gehts nun 'genau so' oder gibt's nur eine Lösung mit gleichem Endergebnis (die hat Sie schon)
Danke
Max
Max
 
Zuletzt bearbeitet von einem Moderator:

diggaa1984

Top Contributor
naja sobald swing ins spiel kommt ists mit einer programmschleife, welche alles gemäß pseudocode erledigt eh schlecht, da hier aufgrund des Eventhandlings (Button-Aktionen) Methoden angesprochen werden, die dann den Programmfluss aus prozeduraler Sicht unterbrechen.

Java:
//wird automatisch von Java beim Druck auf Button aufgerufen, kein manueller Aufruf!!!
public void actionPerformed(ActionEvent e) {
   //pseudomaessig
   
   /* wenn e.source == weiterButton
    *    dann addNumber(eingabefeld.getText()) .. eigene Methode in der Klasse
    *
    * wenn e.source == endeButton
    *    dann printResult() .. eigene Methode in der Klasse
    */
}
Das muss man nun natürlich ordentlich verknüpfen mit den Gui-Komponenten etc.

Wenn du Swing nutzt hast du keine explizite Endlosschleife die das Programm am Leben hält. Der Programmfluss wird durch Eventhandling bestimmt.
 
Zuletzt bearbeitet:

tfa

Top Contributor
naja sobald swing ins spiel kommt ists mit einer programmschleife, welche alles gemäß pseudocode erledigt eh schlecht, da hier aufgrund des Eventhandlings (Button-Aktionen) Methoden angesprochen werden, die dann den Programmfluss aus prozeduraler Sicht unterbrechen.
Sowas kann man gut in einer eigenen Komponente (mit modalem Dialog) kapseln. Siehe JOptionPane.
Damit könnte man den Pseudo-Code praktisch 1:1 umsetzen.
 

ILEmax

Mitglied
Danke an alle

@Der Müde Joe
aber sie sagt mit der Konsolenausgabe kann sie das.
und mit
ersetzt den Scanner und sysos durch Swing.
Kommt Sie nicht klar.
Was ist sysos ?


@diggaa1984
Schade das ich kein Java kan. Ich werde unserem Java Entwickler diesen Code Snip zeigen
Unsere Praktikantin (und ich) versteht das nicht


@tfa
Das hört sich recht komplex an.
Oh mann, wenn ich gewust hätte was ich da anrichte ...


Ich vermute mal, für jemand der
- seit 9 Tagen Java macht,
- weiblich ist (nicht böse sein)
- 15 Jahre alt ist
- Vorkentnisse: angeblich ein bischen Schul VB


ist die Antwort " Das geht so nicht" vermutlich die richtige.

vielen Dank für Eure Bemühungen
Max
 

diggaa1984

Top Contributor
Ich vermute mal, für jemand der
- seit 9 Tagen Java macht,
- 15 Jahre alt ist
- Vorkentnisse: angeblich ein bischen Schul VB

ist Swing definitiv too much verlangt, wenn sie es auf der Konsole kann ok, aber Swing kann man nich eben mal an einem Tag verstehen oder erfolgreich probieren ohne massig Aufwand mit Tutorials oder Büchern zu bewältigen.
Und 9 Tage Jave .. hm weiss gar nich wie weit ich nach 9 Tagen war, aber ich hatte bestimmt noch mit der Synatax und dem OOP-Konzept zu kämpfen ^^

@sysos = System.out.println() .. entsprich der Ausgabe auf dem Standard-Ausgabe-Kanal (bspw. der Konsole)
 

tfa

Top Contributor
Ich denke auch, dass die Aufgabe für eure Praktikantin so zu schwierig ist. Am besten lässt man für den Anfang die Geschichte mit den Buttons weg und programmiert alles für die Textkonsole. Eine leere Eingabe ist dann eben das Abbruchkriterium für die Schleife.
 

Der Müde Joe

Top Contributor
>Schade das ich kein Java kan. Ich werde unserem Java Entwickler diesen Code Snip zeigen

schnip...
Java:
import javax.swing.JOptionPane;


public class Input {

	public static void main(String... args) {
		int sum = 0;
		while (true) {
			String s = JOptionPane.showInputDialog("Enter Number: sum is " + sum + " so far");
			if (s != null) {
				int i = Integer.parseInt(s); // exception hanling
				sum += i;
			} else {
				break;
			}
		}
		JOptionPane.showMessageDialog(null, "result is: " + sum);
	}
}
 

ILEmax

Mitglied
Danke müder Joe!

Sie hat es abgeschrieben und es geht.
ich find's gut aber Sie und unser Java Mensch behaubten nur das wäre wieder was anderes.

Ich hat mich da nun raus, habe(glaube ich), mit meiner proceduralen denke und meinem einmischen schon genug Schaden angerichtet.

Danke nochmal an alle Helfer
Werde das Forum an die Praktikantin weiterempfehlen.
(an die Moderatoren: Meinen Forumsaccount könnt ihr löschen, ich misch mich nicht mehr in die Javaanleitung unserer Praktikanten ein)

Danke
Max
 

Der Müde Joe

Top Contributor
>aber Sie

Naja..kann das nix dagegen sagen...programmier ja erst seit 10 Jahren Java und nicht seit 9 Tagen.

>Java Mensch behaubten nur das wäre wieder was anderes.

Ist halt nich so OO, aber macht genau das oben beschriebene (ausser dass ein if s.length() == 0 und eine catch NFE fehlt).
Einfacher gehts net. Sonst müsste man mit ActionListenern arbeiten und mit JFrames Jbuttons und JTextAreas und halt das ganze in der actionPerformerd zusammenbasteln. dann wärs der OO ansatz. Dann ginge das oben beschribene aber nicht mehr in dieser Art.
 
Zuletzt bearbeitet:
G

Gast2

Gast
- 15 Jahre alt ist
- Vorkentnisse: angeblich ein bischen Schul VB

oh Gott ... in dem Alter reicht eine Programmiersprache ... wenn es nur darum geht das Sie was zu tun hat, dann zieht Euch die VB Express edition und lasst die Praktikantin damit arbeiten ... das Schul-VB drüfte auch recht mau ausfallen ... aber es heißt ja nicht umsonst BASIC ;)

im Moment vergrault Ihr da eine potenziellen Informatiker :autsch: ... und wir haben ja Fachkräftemangel :toll:

hand, mogel
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Oben