Eingabe auf Int und Vollständigkeit prüfen

Cherrycoke

Mitglied
Hallo,

ich bin noch relativ neu und unvertraut mit Java, so dass ich einmal kurz eure Hilfe benötige.

Und zwar habe ich ein Programm geschrieben, welchem man Startparameter übergeben kann. Aus diesen Parametern soll das Minimum und das Maximum bestimmt werden.

Allerdings habe ich nun noch zwei Anforderungen, die ich noch nicht umsetzen konnte. Zum Einen möchte ich eine Eingabe ungleich einer ganzen Zahl (hauptsächlich Buchstaben) abfangen und eine individuelle Zahl ausgeben. Weiterhin möchte ich prüfen, ob ein Parameter übergeben wurde, und falls nicht, eine Fehlermeldung ausgeben.

Hier mein Programm:

Java:
public class HelloWorld {
	  public static void main(String[] args) {

      int min = Integer.parseInt(args[0]);
      int max = Integer.parseInt(args[0]);
      
      for(int i=0; i<args.length; i++){ 
        int e = Integer.parseInt(args[i]);
        
        if (e > max){
          max = e;
        }
        
        if (e < min){
          min = e;
        }
        
       } 
      System.out.println("Maximum: " + max); 
      System.out.println("Minimum: " + min);

	    	 
	  }
}
 
Zuletzt bearbeitet von einem Moderator:
Hallo!

Bitte schau dir folgendes Beispiel an. Ich habe versucht es so einfach wie möglich zu gestalten:

Java:
package at.co.lipski.misc;

public class ArgTest {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		
		if(args.length<2){
			//Weniger als 2 Argumente --> main beenden.
			
			System.out.println("Nicht genug Argumente!");
			return;
		}
		
		int min;
		int max;
		
		// Hole Elemente bei index 0 und 1 (Element 1 und 2)
		String minArg = args[0];
		String maxArg = args[1];
		
		try{
			// Versuche Zahl zu parsen
			min = Integer.parseInt(minArg);
		}
		catch(NumberFormatException numberFormatException){
			// String enthält keine gültigen Zahlen.
			System.out.println("Erstes Argument ist keine Zahl!");
			
			//Methode beenden
			return;
		}
		
		try{
			// Versuche Zahl zu parsen
			max = Integer.parseInt(maxArg);
		}
		catch(NumberFormatException numberFormatException){
			// String enthält keine gültigen Zahlen.
			System.out.println("Zweites Argument ist keine Zahl!");
			
			//Methode beenden
			return;
		}
		
		System.out.println("Minimum ist: "+min);
		System.out.println("Maximum ist: "+max);
	}

}

Die Methode parseInt wirft eine Exception, sollte der übergebene String keine gültige ganze Zahl enthalten. (In diesem Fall eine NumberFormatException).

Solltest du nicht wissen, worum es sich bei Exceptions handelt, kannst du dir das hier durchlesen:

http://openbook.galileocomputing.de...08_001.htm#mj0abf9e20a417f31d72c30d02f3fbffd2


Dieses Onlinebuch ist generell ein tolles Nachschlagewerk, und es würde dir nicht schaden, das ein oder andere Kapitel durchzulesen.

Grüße,
Martin
 
Zuletzt bearbeitet:
Zurück