String als ungültig deklarieren

Hallo Leute ich habe eine Aufgabe bekommen und komme nicht weiter.Die Aufgabe lautet wie folgt:
Schreiben Sie ein Programm, das eine beliebige Anzahl an Gleitkommazahlen als Kommandozeilenparameter übergeben bekommt und daraus den Durchschnitt berechnet. Falls der Benutzer dabei ungültige Kommandozeilenparameter übergibt (z.B. keine oder Strings, die nicht in eine Gleitkommazahl verwandelbar sind), soll dem Benutzer ein Hinweis übergeben werden, dass wie er das Programm benutzen muss.

Mein Ansatz:
Java:
import java.util.Scanner

public class Aufgabe1 {

    public static void main(string[] args) {
   
       
        Scanner sc = new Scanner(System.in);
       
       
        float zahl;
        float summe = 0;
        int zaehler = 0;
        try {
           
            do {
                System.out.print("Geben sie die Zahlen ein");
                zahl = sc.nextFloat();   
               
                summe = summe + zahl;   
                zaehler++;
               

            }
            while (zahl != String)
        }
        catch (Exception e){
            System.out.print("Ungültiger Wert, keine Buchstaben und Zeichensymole zulässig");   
        }   
       
        float durchschnitt = summe/zaehler;
            System.out.print("Der Durchschnitt der eingegebenen Zhalen ist: " + durchschnitt);
       
       
    }   


}

Nun wird mir gesagt das der Part while (zahl != String) ungültig sei, da der String nicht als variable benutzt werden kann. Hättet ihr Vorschläge das Problem zu beheben?
 
Zuletzt bearbeitet von einem Moderator:
Du hast doch deine Fehlerbehandlung schon im try catch? while (true) sollte doch schon das gewünschte Ergebnis liefern? Ansonsten den Code bitte in entsprechende CODE-Tags packen.
 
als Kommandozeilenparameter
Die bekommst Du nicht über einen Scanner sondern über den Parameter der main-Methode.

Java:
public static void main(String[] args) {
    if (args.length == 0) {
        System.err.println("Keine Parameter angegeben!");
        usage();
    }
    // dann die einzelnen Parameter umwandeln,
    // bei Fehlern entsprechende Ausgabe 
    // inkl. usage();
    // ...
}

private static void usage() {
    // Ausgabe und Beschreibung der Parameter,
    // abschließend Programm beenden mit Fehlercode:
    System.exit(1);
}
 
Passende Stellenanzeigen aus deiner Region:

Neue Themen

Oben