Argumente einlesen

Javana

Mitglied
Hallo :)

ich hätte mal eine kleine Frage und würde mich über eine kurze Antwort sehr freuen.
Ich muss in meiner Übungsaufgabe Argumente in der Konsole einlesen. Als erstes beliebig viele Integer, mit denen das Programm arbeiten soll und dahinter mehrere Strings. Wie ich die Integer einlesen kann weiß ich. Doch wie mache ich dem Programm klar, dass danach noch Strings folgen? Die Strings sollen dann am besten im Array task gespeichert werden.
Ein möglicher Aufruf wäre: java Main 12 9 8 -20 7 sort printer

Java:
public class Main {

      public static void main(String[] args) {
	
      int[] input = new int[Integer.parseInt(args[0])];			
      String[] task = new String[args[0]];                    // das funktioniert nicht --> incompatible types
      }
}

Vielen Dank schon mal

lg :)
 
Zuletzt bearbeitet:

coco07

Bekanntes Mitglied
Hey Javana,

vielleicht nicht die sauberste Antwort aber eine Möglichkeit das Problem zu lösen :)

Java:
public class Main {

	public static void main(String[] args) {
	        /*
		 * Speicher einfach alle Werte in Strings
		 */
		ArrayList<String> wörter = new ArrayList<String>();
		ArrayList<Integer> zahlen = new ArrayList<Integer>();
		
		ArrayList<String> t = new ArrayList<String>();
		t.add("Hallo");
		t.add("1");
		t.add("YEAAH");
		t.add("4494");
		
               /*
                * Hier alle args reinpacken
                */
		for(int i=0; i<t.size();i++){
			wörter.add(t.get(i));
		}
		
               /*
                * Hier alle Strings, welche Integer sind, in den anderen Array schmeißen
                */
		for(int i=0;i<wörter.size();i++){
			try {
				zahlen.add(Integer.parseInt(wörter.get(i)));
				wörter.remove(wörter.get(i));
			} catch(NumberFormatException nfe){
				// nichts tun, da sie im richtigen Array gespeichert sind.
			}
		}
		for(int i=0;i<wörter.size();i++){
			System.out.println(wörter.get(i));
		}
		for(int i=0;i<zahlen.size();i++){
			System.out.println(zahlen.get(i));
		}
	}

}

Müsstest das nur noch für deine args abändern. Helfe dir gerne, falls du nicht weiter kommst :toll:

grüße Coco07!
 
Zuletzt bearbeitet:

kaoZ

Top Contributor
Java:
public static void main(String[] args){

 String[] myArgs = new String[args.length];

 for(int i = 0; i < args.length; i++){
   myArgs[i] = args[i];
 }
}

so könntest du die übergebenen Argumente in einem Neuen Array Speichern oder so

Java:
public static void main(String[] args){
  
 for(String string : args){
   System.out.println(string);
 }

}

die Argumente ausgeben / Verarbeiten
 
Zuletzt bearbeitet:

Natac

Bekanntes Mitglied
Die Frage ist, was du mit der Eingabe machen willst.
Willst du mit den Integern rechnen? Dann musst du sie parsen.
Willst du sie nur ausgeben? Dann musst du sie gar nicht in zahlen umwandeln.

Falls du sie parsen möchtest, würde ich wie folgt vorgehen:

Java:
public static void main(String[] args){
  List<Integer> integers = new ArrayList<Integer>();
  List<String> strings = new ArrayList<String>();
  
  for(String arg : args){
    try{
        integers.add(Integer.valueOf(arg));//Versuch als integer zu parsen
    }
    catch(NumberFormatException notAnInt){
        strings.add(arg);// Versuch fehlgeschlagen: Behandlung als String
    }
  }

 // Jetzt mit integers und Strings machen, was immer du willst.
}
Ist im Prinzip das gleich was auch coco07 gepostet hat, ich finde diese vorgehensweise aber deutlich einfacher und sauberer als alles in ein neues String-array zu kopiern und anschließend rauszulöschen. ;)
 
Zuletzt bearbeitet:

Javana

Mitglied
Hi Natac :)

ja das ist besser. Das verstehe ich auch eher als coco07s Lösung. Danke dir!
Ich möchte nachher mit den Integern rechnen. Die Strings sollen angeben, welche Rechnung dann mit den Integern ausgeführt werden soll.
 

Deros

Bekanntes Mitglied
Auch wenn verständlich ganz schlechter Stil. Exceptions sind, wie der Name schon sagt, Ausnahmen und sollten auf keinen Fall dazu verwendet werden, den normalen Programmfluss zu steuern.
 

coco07

Bekanntes Mitglied
Deros@ Auch wenn Ausnahmeobjekte nicht zur normalen Programmsteuerung erzeugt werden sollten, ist dieser Weg am einfachsten.
Alternativ gibt es noch diesen Weg:
Java:
    String zahl= "125";
           
    if(zahl.matches("[0-9]+"))
        // Eine Zahl
    else
       // Keine Zahl

Habs allerdings nicht probiert, sollte allerdings klappen...

grüße coco07!
 
Zuletzt bearbeitet:

coco07

Bekanntes Mitglied
Das mag vielleicht bei Programmen mit grafischer Oberfläche stimmen aber nicht bei kleinen nonGui Programmen mit 3 Zeilen...

grüße Coco07!
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
S Aus Strings Argumente einlesen!? Java Basics - Anfänger-Themen 3
J Argumente in Methoden übergeben Java Basics - Anfänger-Themen 1
I Argumente einer Java Methode Java Basics - Anfänger-Themen 14
scratchy1 Argumente mit verschiedenen Schleifen ausgeben Java Basics - Anfänger-Themen 3
P Argumente auf plausibilität prüfen... Java Basics - Anfänger-Themen 8
DStrohma Best Practice VM Argumente in Applikation übernehmen? Java Basics - Anfänger-Themen 1
B Schlüsselworte Argumente, Was ist das? Java Basics - Anfänger-Themen 10
D VM Argumente - Das Maximum rausholen Java Basics - Anfänger-Themen 19
G Einfache if-Abfrage der Main-Argumente Java Basics - Anfänger-Themen 3
Fab1 Argumente in der Kommandozeile eingeben Java Basics - Anfänger-Themen 4
L Java Kommandozeilen Argumente Java Basics - Anfänger-Themen 10
F JAR Archiv VM Argumente übergeben Java Basics - Anfänger-Themen 3
Luk10 Midi - Konstruktor-Argumente Java Basics - Anfänger-Themen 5
M Argumente Speichern Java Basics - Anfänger-Themen 4
K mein() Methode – Argumente auslesen Problem Java Basics - Anfänger-Themen 6
G wo sind die Argumente der main()-Methode erreichbar? Java Basics - Anfänger-Themen 3
J argumente rückgeben Java Basics - Anfänger-Themen 10
D Befehlszeilen-Argumente Java Basics - Anfänger-Themen 4
A Versenden von Nachrichten, Argumente, Prototypen? Java Basics - Anfänger-Themen 5
M Warum funktioniert das nicht? (Argumente an Jar übergeben) Java Basics - Anfänger-Themen 3
B Tastatur eingaben abfragen und dann in Argumente zerlegen..? Java Basics - Anfänger-Themen 8
O Variable Zimmergrößen per scanner einlesen Java Basics - Anfänger-Themen 5
farbenlos Csv Datei in Java einlesen Java Basics - Anfänger-Themen 18
G JTree speichern und wieder einlesen Java Basics - Anfänger-Themen 5
T Text einlesen code was kommt dahin? Java Basics - Anfänger-Themen 1
S SeriellenPort einlesen Java Basics - Anfänger-Themen 3
I XML einlesen und Objekte bekommen Java Basics - Anfänger-Themen 2
M Daten aus .txt Datei einlesen und weiterverarbeiten Java Basics - Anfänger-Themen 80
julian0507 Wörter einlesen lassen und rückwärts ausgeben Java Basics - Anfänger-Themen 7
S JSON einlesen und benutzen Java Basics - Anfänger-Themen 5
A CSv.Datei einlesen und die werte in zweidemosional Int Array speichern Java Basics - Anfänger-Themen 9
I Ical4j / Kalender einlesen von URL - Fehler: "Unparseable date" Java Basics - Anfänger-Themen 16
Saiko Zeilen einer Datei einlesen Java Basics - Anfänger-Themen 3
sserio Txt Datei einlesen Java Basics - Anfänger-Themen 9
D Strings aus Excel-Datei einlesen Java Basics - Anfänger-Themen 2
julian112 Input/Output .gz bzw. .txt Datei Einlesen und Umgang mit Exceptions Java Basics - Anfänger-Themen 1
M String beim einlesen formatieren Java Basics - Anfänger-Themen 12
P Datei einlesen, nach Begriff filtern und in Datei ausgeben. Problem Standardausgabe über Konsole Java Basics - Anfänger-Themen 19
G JSP Textfeld einlesen Java Basics - Anfänger-Themen 2
M Einlesen > new Leser Java Basics - Anfänger-Themen 5
W Werte durch Konsole einlesen Java Basics - Anfänger-Themen 10
A Array einlesen und ausgeben Java Basics - Anfänger-Themen 13
K Datum einlesen und Tag, Monat und Jahr einzeln ausgeben Java Basics - Anfänger-Themen 1
K Datum einlesen und Tag, Monat und Jahr einzeln ausgeben Java Basics - Anfänger-Themen 1
KogoroMori21 Textdatei einlesen im Array (Selection Sort Algorithmus) Java Basics - Anfänger-Themen 3
S Wort einlesen Array ausgeben Java Basics - Anfänger-Themen 4
I Java String einlesen und auslesen Java Basics - Anfänger-Themen 11
A Input/Output Mehrere Csv-Dateien einlesen Java Basics - Anfänger-Themen 2
S CSV einlesen und mit Komma trennen Java Basics - Anfänger-Themen 12
CptK Richtigen Pfad beim einlesen von Datei finden Java Basics - Anfänger-Themen 2
I Java-Wort einlesen und ausgeben Java Basics - Anfänger-Themen 7
J Csv-Datei einlesen Java Basics - Anfänger-Themen 52
JD_1998 Arrays einlesen, zwischenspeichern und wieder ausgeben Java Basics - Anfänger-Themen 8
L Konstruktor für eine Map-Datei/Map-Datei einlesen Java Basics - Anfänger-Themen 5
L Datein einlesen Java Basics - Anfänger-Themen 1
O zufälliges Wort aus einer Datei einlesen Java Basics - Anfänger-Themen 32
E Input/Output Datei anhand von Dateinamen einlesen Java Basics - Anfänger-Themen 5
C Datei über relative Pfade einlesen Java Basics - Anfänger-Themen 6
A Input/Output Dateien einlesen und ausgeben Java Basics - Anfänger-Themen 7
A Klasse um daten zu einlesen Java Basics - Anfänger-Themen 26
A 2d Arrays aus txt.file einlesen Java Basics - Anfänger-Themen 16
A Textdatei mit stream einlesen Java Basics - Anfänger-Themen 2
P Datei einlesen und zurückgeben Java Basics - Anfänger-Themen 5
G String wird nach Einlesen aus Datei nicht erkannt Java Basics - Anfänger-Themen 3
M String in Scanner einlesen Java Basics - Anfänger-Themen 6
E TXT FILE EINLESEN Java Basics - Anfänger-Themen 4
M Einzelzeichen einlesen Java Basics - Anfänger-Themen 2
C (char) Array einlesen Java Basics - Anfänger-Themen 8
B HTML File einlesen inkl. Bilder? Java Basics - Anfänger-Themen 2
E Mehrere Eingabezeilen gleichzeitig einlesen Java Basics - Anfänger-Themen 7
B HTML Datei einlesen und HTML Code in String wandeln Java Basics - Anfänger-Themen 19
V Schleife für das Einlesen von Werten für int Variablen, die Bestandteil von Arrays sein sollen Java Basics - Anfänger-Themen 16
I Nur auf Abfrage von einer Text Datei einlesen Java Basics - Anfänger-Themen 11
P Text Datei einlesen und übertragen Java Basics - Anfänger-Themen 15
E Einteilung der Räume mit einlesen einer .txt datei Java Basics - Anfänger-Themen 16
P Array einlesen von Konsole Java Basics - Anfänger-Themen 8
D Eingaben in String Array einlesen Java Basics - Anfänger-Themen 12
B CSV einlesen - Parameter a) encoding b) delimiter Java Basics - Anfänger-Themen 7
R Compiler-Fehler Einlesen von Konsolenparameter funtioniert nichtmehr Java Basics - Anfänger-Themen 4
I OOP Objektnamen über die Konsole richtig einlesen Java Basics - Anfänger-Themen 9
J Einlesen von Datei funktioniert nicht Java Basics - Anfänger-Themen 8
H Einlesen Java Basics - Anfänger-Themen 8
H Einlesen von Zahlen Java Basics - Anfänger-Themen 20
B mehrere Werte mit scanner und while schleife einlesen, max berechnen bzw addieren Java Basics - Anfänger-Themen 2
CptK Datentypen Text Dateien einlesen Java Basics - Anfänger-Themen 3
A Datentypen Unterschiedliche Datentypen in einer Eingabe einlesen Java Basics - Anfänger-Themen 2
R txt Einlesen und Verarbeiten Java Basics - Anfänger-Themen 15
M Erste Schritte CSV-File einlesen und Daten verarbeiten Java Basics - Anfänger-Themen 5
M Datei einlesen mit Scanner funktioniert nicht (FileNotFoundException) Java Basics - Anfänger-Themen 6
K Sonderzeichen einlesen Java Basics - Anfänger-Themen 3
L Input/Output XML Datei einlesen (JAXB?) Java Basics - Anfänger-Themen 10
F Zahlen aus Datei einlesen und in Array speichern Java Basics - Anfänger-Themen 2
I Datei einlesen Java Basics - Anfänger-Themen 11
J Best Practice [Code Verbesserung] TXT einlesen und in Arrayliste speichern Java Basics - Anfänger-Themen 5
A Ungeordnetes Array ordnen, Zahl einlesen und einordnen Java Basics - Anfänger-Themen 23
R Erste Schritte Sicheres einlesen eines Strings Java Basics - Anfänger-Themen 2
MaximilianTM Input/Output Einlesen und bearbeiten einer text Datei / Zeile Java Basics - Anfänger-Themen 5
C Erste Schritte Regex - Datei einlesen und splitten Java Basics - Anfänger-Themen 4
T Input/Output Einlesen eines .txt Files nur bei gesetztem Breakpoint möglich Java Basics - Anfänger-Themen 1
L RSA Public Key einlesen Java Basics - Anfänger-Themen 0

Ähnliche Java Themen

Neue Themen


Oben