Argumente in der Kommandozeile eingeben

Fab1

Top Contributor
Hallo Java-Forum Community,


ich bin momentan am lernen mit dem Buch "Java von Kopf bis Fuß", allerdings bin ich bei diesem auf ein Problem gestoßen. Auf der Seite 346 (Für die, die das Buch besitzen).

Es handelt sich um ein Musik Programm. Und zwar steht hier geschrieben, dass man mit Hilfe von Argumenten, die man in die Kommandozeile eingeben muss, das Instrument und die Tonhöhe verändern kann. Erlaubt sind für beide Parameter Werte von 1-127.

Da meine Google Suchaktion leider keine befriedigenden Ergebnisse brachte, dachte ich mir ich frag hier mal nach. Ich habe bereits erfahren, das man unter Run --> Run Configuration --> Arguments solche Parameter setzen kann, zumindest nehme ich das jetzt mal so an, wenn es nicht stimmt mich bitte darauf hinweisen.

Also hab ich einfach mal in den Programm arguments folgendes eingegeben: 10, 50

dachte mir 2 Parameter sollte ja so stimmen, ausgeführt und dann erhalte ich folgende Exception

Java:
Exception in thread "main" java.lang.NumberFormatException: For input string: "10,"
	at java.lang.NumberFormatException.forInputString(Unknown Source)
	at java.lang.Integer.parseInt(Unknown Source)
	at java.lang.Integer.parseInt(Unknown Source)
	at MiniMusikKommZeile.main(MiniMusikKommZeile.java:14)

Dazu hier mal noch der Code, der Code ist eher eine Art Fertiggericht und richtig abgetippt sollte ich es auch haben.

Java:
import javax.sound.midi.*;

public class MiniMusikKommZeile {

	
	public static void main(String[] args) { // unsere 2. Version
		
		MiniMusikKommZeile mini = new MiniMusikKommZeile();
		
		
		if(args.length<2){
			System.out.println("Vergessen Sie nicht Instrument- und Ton-Argument.");
		}else{
			int instrument = Integer.parseInt(args[0]);
			int ton = Integer.parseInt(args[1]);
			mini.spielen(instrument, ton);
		}

	}
	
	public void spielen(int instrument, int ton){
		
		try{
			Sequencer player = MidiSystem.getSequencer();
			player.open();
			Sequence seq = new Sequence(Sequence.PPQ, 4);
			Track track = seq.createTrack();
			
			ShortMessage first = new ShortMessage();
			first.setMessage(192, 1, instrument, 0);
			MidiEvent instrumentWechsel = new MidiEvent(first, 1);
			track.add(instrumentWechsel);
			
			ShortMessage a = new ShortMessage();		// FertigCode
			a.setMessage(144, 1, ton, 100);
			MidiEvent noteOn = new MidiEvent(a, 1);
			track.add(noteOn);
			
			ShortMessage b = new ShortMessage();		// FertigCode
			b.setMessage(128, 1, ton, 100);
			MidiEvent noteOff = new MidiEvent(b, 16);
			track.add(noteOff);
			
			player.setSequence(seq);
			player.start();
			Thread.sleep(5000);
			player.close();
		}catch (Exception ex){
			ex.printStackTrace();
		}
	}

}

Ich bin mir sicher, dass mir jemand von euch weiterhelfen kann. Vielen Dank.

Gruß
GEEK!
 

eRaaaa

Top Contributor
Die Argumente brauchst du nicht (bzw hier solltest du es sogar nicht) durch ein Komma trennen, einfach Leerzeichen dazwischen und du hast zwei Argumente!
 

Fab1

Top Contributor
Die Argumente brauchst du nicht (bzw hier solltest du es sogar nicht) durch ein Komma trennen, einfach Leerzeichen dazwischen und du hast zwei Argumente!


Ja, ich habe gerade noch ein bisschen umprobiert und es hat geklappt, sehr nice, vielen Dank.

Für andere die von mir eingegebenen Parameter sind:
50 100

einfach ohne irgendwas reinschreiben und es funzt. :)
 
H

Harlekin82

Gast
Ich kann leider nicht mal eine Eingabe bei diesem Programm machen...
Ich benutze Eclips..
 

hdi

Top Contributor
Da geht das mit den Argument leider nur etwas komplizierter: Rechtsklick auf deine Datei (links im Package Explorer) -> Run As -> Run Configurations -> dort im Tab "Arguments" bei "Program Arguments" deine Argumente übergeben.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
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
J Argumente einlesen Java Basics - Anfänger-Themen 9
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
S Aus Strings Argumente einlesen!? Java Basics - Anfänger-Themen 3
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
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
L Beim Java Programmstart, mehrere Parameter über die Kommandozeile übergeben Java Basics - Anfänger-Themen 9
P Variablen Optionaler Parameter auf der Kommandozeile Java Basics - Anfänger-Themen 12
C Classpath Compiler lässt sich nur bedingt von Kommandozeile aus starten Java Basics - Anfänger-Themen 17
U Was bedeutet $@ in der Linux Kommandozeile Java Basics - Anfänger-Themen 3
B Kommandozeile Übergangsmechanismus args Java Basics - Anfänger-Themen 5
T Input/Output Überschreibung von Kommandozeile Java Basics - Anfänger-Themen 3
T Variable in Windows Kommandozeile schreiben Java Basics - Anfänger-Themen 4
K Kommandozeile zählen Java Basics - Anfänger-Themen 5
H Text ausdrucken, den ich entweder direkt in die Kommandozeile schreibe, oder über input redirect übe Java Basics - Anfänger-Themen 2
D Java Programm auf Kommandozeile durchführen Java Basics - Anfänger-Themen 12
N Kommandozeile,Anfänge Java Basics - Anfänger-Themen 12
M Swing Klasse auch per Kommandozeile starten? Java Basics - Anfänger-Themen 2
M Argument der Kommandozeile überprüfen Java Basics - Anfänger-Themen 4
K Classpath Java von der Kommandozeile, starten einer JAR mit Libraries Java Basics - Anfänger-Themen 6
C Javaprogramm auf der Kommandozeile starten Java Basics - Anfänger-Themen 5
J Array Größe über Kommandozeile eingeben Java Basics - Anfänger-Themen 3
S Kommandozeile Java Basics - Anfänger-Themen 16
E JavaFX und Java auf Kommandozeile compilen Java Basics - Anfänger-Themen 2
H Kommandozeile: Text farbig ausgeben Java Basics - Anfänger-Themen 3
A Kommandozeile Java Basics - Anfänger-Themen 12
K Kommandozeile für Programm Java Basics - Anfänger-Themen 2
B Methoden über Kommandozeile starten Java Basics - Anfänger-Themen 10
C Eclipse-Neuling hat Probleme mit Kommandozeile Java Basics - Anfänger-Themen 7
R Jar File über Kommandozeile starten Java Basics - Anfänger-Themen 17
G Methodenaufruf aus der Kommandozeile Java Basics - Anfänger-Themen 28
R Kommandozeile Operationen Java Basics - Anfänger-Themen 3
J Java Compiler will nicht in der Kommandozeile Java Basics - Anfänger-Themen 5
D Runtime Prozeß hängt sich auf. in der Kommandozeile gehts Java Basics - Anfänger-Themen 5
G Datei über Kommandozeile übergeben ! Java Basics - Anfänger-Themen 4
M Eingabe von der Kommandozeile Java Basics - Anfänger-Themen 5
S per Kommandozeile compilieren: Problem: externe Jars einbind Java Basics - Anfänger-Themen 16
G Sendmail über Kommandozeile benutzen Java Basics - Anfänger-Themen 9
T Programmstart aus Kommandozeile funktioniert nicht. Java Basics - Anfänger-Themen 8
S Kommandozeile mit 2 Parametern int und boolean Java Basics - Anfänger-Themen 5
E Objektübergabe per Kommandozeile Java Basics - Anfänger-Themen 4
lin Kommandozeile bzw. if(cl.contains("xy")) { //do } Java Basics - Anfänger-Themen 7
Y GUI ohne Kommandozeile Java Basics - Anfänger-Themen 7
N Properties auf Kommandozeile setzen, die erhalten bleiben Java Basics - Anfänger-Themen 2
F Kommandozeile parsen Java Basics - Anfänger-Themen 6
R Exception in Thread "main" . Kommandozeile/Netbean Java Basics - Anfänger-Themen 8
A PrintWriter und Kommandozeile Java Basics - Anfänger-Themen 5
I Parameterübergabe beim Aufruf in der Kommandozeile Java Basics - Anfänger-Themen 4
K Zahlen über die Kommandozeile einlesen Java Basics - Anfänger-Themen 6
Poppigescorn scan.nextInt() wiederholen bis eine Zahl eingeben wird Java Basics - Anfänger-Themen 7
H Welche Werte bei Objekterzeugung eingeben? Java Basics - Anfänger-Themen 2
N Spielername eingeben/wählen Java Basics - Anfänger-Themen 1
F Erste Schritte java.util.Scanner: Beliebig langen Text per Paste in Console eingeben ? Java Basics - Anfänger-Themen 14
P Nutzer entscheiden lassen, wie viele Zahlen dieser in ein Array eingeben möchte. Java Basics - Anfänger-Themen 6
S Zahl eingeben Java Basics - Anfänger-Themen 8
S Vergleichen ob der Integer der benutzt eingeben werden soll überhaupt ein int ist Java Basics - Anfänger-Themen 1
J 10 positive Zahlen eingeben Java Basics - Anfänger-Themen 10
G Programm schreiben: Zahl (n) eingeben, 1+1/n+2/n+3/n+....+n/n Java Basics - Anfänger-Themen 8
M BlueJ - Array als Paramter einer Methode eingeben Java Basics - Anfänger-Themen 12
M Strasse und Huasnummer korrekt eingeben Java Basics - Anfänger-Themen 13
P Datentypen Kann ich bei double Komma statt Punkt eingeben? Java Basics - Anfänger-Themen 14
W Objektname durch Tastaturbefehl eingeben Java Basics - Anfänger-Themen 7
L Text eingeben und im Textfeld auslesen lassen Java Basics - Anfänger-Themen 2
V Array zahlen eingeben und ausgeben Java Basics - Anfänger-Themen 5
B Anwender soll mathematische Funktion eingeben können, Einfachster Fnktionsplotter Java Basics - Anfänger-Themen 4
A Text mit "Scanner" eingeben und Umlaute ersetzen Java Basics - Anfänger-Themen 7
P jTextField - Auslesen, in Variablen speichern, eingeben... Java Basics - Anfänger-Themen 7
J Array manuell vom User eingeben, Zeilenweise Java Basics - Anfänger-Themen 2
B Zahlen und Buchstaben in cmd eingeben Java Basics - Anfänger-Themen 5
M Input/Output Eine Zahl eingeben mit Ausnahmen Java Basics - Anfänger-Themen 12
P eingeben und abrufen Java Basics - Anfänger-Themen 6
A Als Eingabeparameter keinen Wert eingeben Java Basics - Anfänger-Themen 21
S Text über Tastatur eingeben und ausgeben Java Basics - Anfänger-Themen 6
J Input/Output Datei auslesen, Pfad eingeben Java Basics - Anfänger-Themen 4
L Input/Output String eingeben und ändern Java Basics - Anfänger-Themen 9
B Daten eingeben und ausgeben mit einem Layout Java Basics - Anfänger-Themen 17
B Uhrzeit vom Benutzer eingeben lassen. Java Basics - Anfänger-Themen 5
B Externe Libraries fuer Applet ... Pfad eingeben? Java Basics - Anfänger-Themen 23
D Erste Schritte Parameter eingeben Java Basics - Anfänger-Themen 6
C Exponent eingeben Java Basics - Anfänger-Themen 2
R Datentypen Text eingeben, der verglichen werden soll Java Basics - Anfänger-Themen 8
D Bei eingeben von Zahlen den Zeilensprung vermeiden Java Basics - Anfänger-Themen 3
Benji0815 Java Passwort in Formular eingeben Java Basics - Anfänger-Themen 5
S Elemente eines Arrays in Console eingeben Java Basics - Anfänger-Themen 5
M args[] während des Programmlaufes eingeben Java Basics - Anfänger-Themen 5

Ähnliche Java Themen

Neue Themen


Oben