Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > Java
You last visited: Today at 23:07

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



[JAVA]Abfangen ungültiger Eingaben

Discussion on [JAVA]Abfangen ungültiger Eingaben within the Java forum part of the Coders Den category.

Reply
 
Old   #1
 
The_Dentist's Avatar
 
elite*gold: 13
Join Date: Nov 2014
Posts: 71
Received Thanks: 4
[JAVA]Abfangen ungültiger Eingaben

Hallo,

ich habe mal eine allgemeine Frage und zwar wie löse ich am besten folgendes Problem:

z.B.
User sollen eine Zahl zwischen 1 - 3 eingeben. Nehmen wir an ein User gibt eine Zahl darüber ein. Dann kann ich diese ja abfangen und nochmal bitten den User ein Zahl einzugeben. Allerdings frage ich mich, wie ich dieses Problem löse, wenn der User immer wieder eine Zahl darüber eingibt. Wie kann ich die Abfrage immer wieder neu starten, bis der User eine Zahl dazwischen eingegeben hat?

Ich schätze mal ich erstelle mir eine Methode und eine while Schleife, und solange diese false wiedergibt, soll er die Abfrage neustarten?! Würde man dieses Problem so lösen?

Code:
while (!Tag_Check(tag)) {
			System.out.println("Gib den Tag ein: DD");
			tag = a.nextInt();
		}

private static boolean Tag_Check(int tag) {
		
		if (tag > 31 || tag <= 0)
			return false;
		return true;
	}
MfG
The_Dentist is offline  
Old 01/07/2015, 19:56   #2
 
elite*gold: 8
Join Date: Sep 2014
Posts: 625
Received Thanks: 178
Endlosschleife. Im Schleifenrumpf dann eine if-Abfrage, die klärt, ob die Eingabe gültig ist.
qqdev is offline  
Thanks
1 User
Old 01/08/2015, 11:49   #3
 
XYZ-Cannon's Avatar
 
elite*gold: 0
Join Date: Jul 2011
Posts: 1,773
Received Thanks: 866
Code:
while (!Tag_Check(tag)) {
			System.out.println("Gib den Tag ein: DD");
			tag = a.nextInt();
		}

private static boolean Tag_Check(int tag) {
		
boolean eingabeGueltig=false;
		  while (eingabeGueltig==false)
		  {
			  if (tag>3 || tag <=0)
			  {
				  System.out.println("Ungültige Eingabe!")
			  }
			  else
				  eingabeGueltig=true;
		  }
		  return;
	}
Sollte funktionieren, falls du es noch nicht hinbekommen hast.
XYZ-Cannon is offline  
Old 01/08/2015, 12:09   #4
 
The_Dentist's Avatar
 
elite*gold: 13
Join Date: Nov 2014
Posts: 71
Received Thanks: 4
Hallo danke für die Antwort. Aber mein Code geht doch, es war nur die Frage, ob man ein solches Problem so löst. Gruß
The_Dentist is offline  
Old 01/09/2015, 07:56   #5

 
xEncounter's Avatar
 
elite*gold: 22
Join Date: Nov 2009
Posts: 1,552
Received Thanks: 361
Du kannst auch abfangen ob das Eingegebene eine Zahl ist.

Mit der Double.isNaN() Methode gibt er true zurück wenn der Double Wert Not-A-Number(NaN) ist oder gibt false zurück wenn er ein double wert ist.
xEncounter is offline  
Thanks
1 User
Old 01/09/2015, 16:41   #6
 
Warnuk3r's Avatar
 
elite*gold: 307
Join Date: Jul 2009
Posts: 1,091
Received Thanks: 434
Hier mal ausschnitt aus einem alten Programm.

p1 ist ein Objekt von der Klasse Person. Eingabe wird so oft wiederholt gefordert, bis richtige Eingabe getätigt worden ist.

Code:
do{ eingabe = StdInput.readString("Name: "); } while(!p1.setName(eingabe));
Code:
	public boolean setName(String pName) {
		if(pName.matches("[A-Z][a-z]+")) {
			this.name = pName;
			return true;
		} else {
			return false;
		}
	}
Warnuk3r is offline  
Thanks
1 User
Old 01/09/2015, 17:15   #7

 
Obilee's Avatar
 
elite*gold: 144
Join Date: May 2007
Posts: 62,459
Received Thanks: 29,541
Es gibt viele Wege nach Rom und deins geht.
Obilee is offline  
Thanks
1 User
Old 01/19/2015, 22:38   #8
 
elite*gold: 0
Join Date: Jan 2015
Posts: 106
Received Thanks: 52
Code:
package de.iremix;

import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);
		int tag = -1;
		
		while(!validNum(tag)) {
			System.out.print("Gib eine Zahl zwischen 1 und 3 ein: ");
			tag = scan.nextInt();
		}
		
	}
	
	public static boolean validNum(int n) {
		return (n <= 3 && n >= 1);
	}

}
'Mahone is offline  
Reply


Similar Threads Similar Threads
Tastatur reagiert mit falschen Eingaben
09/22/2012 - Technical Support - 10 Replies
Da Erdbeer-Buttermilch auf meine Tastatur gekippt ist, habe ich auf die Schnelle vorerst mit einem Papiertuch drübergewischt. Dabei habe ich irgendwelche Tastenfolgen betätigt und nun passiert folgendes: Ich drücke z.B. f und es kommt ö0f auf dem Bildschirm. Ich möchte das wieder rückgängig machen. MfG Eliass123
Mob_Proto übernimmt Eingaben nicht
02/15/2011 - Metin2 Private Server - 8 Replies
Hallo epvper, ich habe in meiner mob_proto die exp und gold (min/max) Werte geändert, aber auch nach mehrmaligem Reboot übernimmt der Server die Änderungen nicht. Mache ich irgendwas falsch? Hilfe bitte! Gruß Yusago
VB Eingaben in Text einfügen
10/21/2010 - .NET Languages - 2 Replies
Hallo liebe Coder, ich habe ein kleines Problem. Ich möchte mir ein Programm schreiben, das für mich automatisch text Dateien erstellt. Dies sieht folgendermaßen aus: http://yfrog.com/emdemodj Mein Code:
GUI Eingaben in Firefox
10/17/2010 - AutoIt - 2 Replies
Hi, Ich wollt fragen wie ich bsp. bei die-staemme.de eine Eingabe in Benutzername und Passwort machen kann. Also ein Befehl der das eingibt: Benutzername: User Passwort: PW MfG Nakroma
Eingaben sehen
06/13/2010 - Metin2 Private Server - 4 Replies
Wo kann ich sehen, wenn ich der Leiter des Servers bin. Welcher Spieler welchen Codes eingibt? Kann man das Überhaupt sehen ? Wenn ja bitte eine kurze Erklärung. Danke



All times are GMT +1. The time now is 23:08.


Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2025 elitepvpers All Rights Reserved.