myGully.com Boerse.SH - BOERSE.AM - BOERSE.IO - BOERSE.IM Boerse.BZ .TO Nachfolger
Zurück   myGully.com > Computer & Technik > Programmierung
Seite neu laden

Programmieren in Java mit Eclipse

Willkommen

myGully

Links

Forum

 
Antwort
Themen-Optionen Ansicht
Ungelesen 03.11.11, 20:50   #1
xshaiax
Anfänger
 
Registriert seit: Nov 2010
Beiträge: 7
Bedankt: 0
xshaiax ist noch neu hier! | 0 Respekt Punkte
Standard Programmieren in Java mit Eclipse

import AlgoTools.*;
public class Grundrechnung {

Hallo liebes Team, ich habe folgendes Programm geschrieben:
(Ich weiss, ziemlich einfach und nur basis Befehle)


public static void main(String[] args)
{
int z1, z2, Summe, Differenz, Produkt, Quotient;

IO.println("Grundrechnungsarten"); //Überschrift des Programms
IO.println("==================="); //

z1=IO.readInt("Geben Sie Zahl 1 ein: ");
z2=IO.readInt("Geben Sie Zahl 2 ein: ");

Summe=z1+z2;
Differenz=z1-z2;
Produkt=z1*z2;
Quotient=z1/z2;

IO.print("Summe : ");
IO.println(Summe);
IO.print("Differenz : ");
IO.println(Differenz);
IO.print("Produkt : ");
IO.println(Produkt);
IO.print("Quotient : ");
IO.println(Quotient);

}
}
Meine Frage:

Mit welchen Befehlen kann ich eine Abfrage machen, ob ich das Programm, nach einer berechnung beenden will, oder eine weitere Berechnung durchführen möchte?
IO.println("Wollen Sie das Programm beenden?: );
IO.readChar 'y' 'n'
oder mit switch anweisung???

und nur wenn ich "y" oder "n" drücke soll das programm beendet oder wiederholt werden, andernfalls soll solange gefragt werden bis eine richtige eingabe gemacht wird.
ich hoffe jemand kann das optimal lösen, sodass ich das dann auf jedes zukünftige programm anwenden kann
vielen dank schonmal
mfg
xshaiax
xshaiax ist offline   Mit Zitat antworten
Ungelesen 04.11.11, 11:23   #2
urga
Mitglied
 
Benutzerbild von urga
 
Registriert seit: Aug 2009
Ort: void* (*wtf[])(void **);
Beiträge: 453
Bedankt: 137
urga ist noch neu hier! | 0 Respekt Punkte
Standard

am einfachsten durch das erstellen bzw. auslagern von funktionen:
PHP-Code:
public static void rechnung1(void) {
  
int z1z2SummeDifferenzProduktQuotient;
  
  
z1=IO.readInt("Geben Sie Zahl 1 ein: ");
  .....
  
IO.println(Quotient);
  
}

public static 
char jaNein(void) {
 
char c 'x';
 while (
!= 'y' && != 'n') {
   
IO.println("Wollen Sie das Programm beenden?: ");
   
IO.readChar();
 }
 return 
c;

dann main() entsprechend anpassen, und dort ebenfalls mit einer while() arbeiten.
__________________
entropie erfordert keine wartung
urga ist offline   Mit Zitat antworten
Ungelesen 05.11.11, 12:13   #3
testerws
Newbie
 
Registriert seit: Apr 2009
Beiträge: 78
Bedankt: 21
testerws ist noch neu hier! | 0 Respekt Punkte
Standard

also, falls du so etwas wie eine Abfrage realisieren willst die dann bei einer bestimmten eingabe einen teil des codes wieder ausführen muss, dann solltest du dir (do while) oder (while) - loops anschauen hier zb.
[ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ]

Dies ist eine Möglichkeit wie du so etwas realisieren könntest, viel Spass beim Testen/Ändern.

Code:
public static void calculate(){
		char anwser ='y';
		Scanner input = new Scanner( System.in );
		try{
			do{
				System.out.print("Bitte erste Zahl eingeben: ");
				int zahl1 = input.nextInt();
				System.out.print("Bitte zweite Zahl eingeben: ");
				int zahl2 = input.nextInt();
				System.out.print("Erneut berechnen? (y/n): ");
				anwser=input.next().charAt(0);
			}while(anwser == 'y');
		}catch(InputMismatchException e){
			System.out.println("falsche eingabe, beende programm");
		}
	}
	
	public static void main(String... args) {	
		System.out.println("beginn");
		calculate();
		System.out.println("ende");
	}
testerws ist offline   Mit Zitat antworten
Ungelesen 05.11.11, 16:12   #4
xshaiax
Anfänger
 
Registriert seit: Nov 2010
Beiträge: 7
Bedankt: 0
xshaiax ist noch neu hier! | 0 Respekt Punkte
Standard

vielen dank für den lösungsansatz
geht das vielleicht nicht einfacher mit einer switch-case anweisung?
weil mit "try, catch, mehreren void mains haben wir bissher nicht gearbeitet
aber trotzdem danke schonmal, ich setz mich damit ausseinander
xshaiax ist offline   Mit Zitat antworten
Ungelesen 05.11.11, 16:28   #5
testerws
Newbie
 
Registriert seit: Apr 2009
Beiträge: 78
Bedankt: 21
testerws ist noch neu hier! | 0 Respekt Punkte
Standard

naja falls du urgas ansatz meinst, dass muss er dir schon beantworten, was er da fabriziert.

naja try-catch blöcke musst du dir angewöhnen um exceptions abzufangen, ansonsten habe ich bei mir eine methode mit einer do-while schleife in einem try catch block. es ist vermutlich nicht das beste beispiel, aber danach könntest du dich orientieren und ggf. code ändern/hinzufügen usw.

was willst du mit einer switch-case anweisung abbilden? beschreibe doch genauer wie du was umsetzen möchtest
testerws ist offline   Mit Zitat antworten
Ungelesen 05.11.11, 17:06   #6
urga
Mitglied
 
Benutzerbild von urga
 
Registriert seit: Aug 2009
Ort: void* (*wtf[])(void **);
Beiträge: 453
Bedankt: 137
urga ist noch neu hier! | 0 Respekt Punkte
Standard

Zitat:
mehreren void mains
in einem programm gibt es nur ein void main.
try/catch wird wahrscheinlich schon durch die importierte AlgoTools.IO abgefangen.
mit meinen 2 funktionen oben sähe main dann so aus:
PHP-Code:
public static void main(String[] args) {
  
rechnung1();
  
char c jaNein();
  while (
== 'y') {
    
rechnung1();
    
jaNein();
  }
   
 

__________________
entropie erfordert keine wartung
urga ist offline   Mit Zitat antworten
Antwort


Forumregeln
Du kannst keine neue Themen eröffnen
Du kannst keine Antworten verfassen
Du kannst keine Anhänge posten
Du kannst nicht deine Beiträge editieren

BB code is An
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist Aus.

Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:48 Uhr.


Sitemap

().