Java:
import javax.swing.*;
import java.util.*;
import java.io.*;
public class Dateischreiben {
public static double Py(double v0, double grad, double t) {
final int g = 10;
double Py = v0*Math.sin(Math.toRadians(grad))*t-(1/2.)*g*Math.pow(t,2);
return Py;
}
public static void main(String[] args) {
System.out.println("========================================");
System.out.println("=======Programm zur Wurfberechnung======");
System.out.println("========================================");
if (args.length != 3) {
System.out.println("Zu wenige oder zu viele Kommandozeilenparameter");
System.exit(0);
}
else {
int t, grad, v0;
String eingabe1 = args[0];
String eingabe2 = args[1];
String eingabe3 = args[2];
t = Integer.parseInt(eingabe1);
grad = Integer.parseInt(eingabe2);
v0 = Integer.parseInt(eingabe3);
System.out.println("Flugzeit t: \t\t\t " +t +" [s]");
System.out.println("Startwinkel alpha: \t\t " +grad +" [\u00B0]");
System.out.println("Startgeschwindigkeit v0: \t " +v0 +" [m/s]");
System.out.println("Ergebnisse in Datei Ergebnis.csv geschrieben");
FileWriter fileW;
try {
fileW = new FileWriter("Ergebnis.csv");
fileW.write("Berechnung für Flugzeit t = " +t +" [s]:\n");
fileW.write("Position in X-Richtung: " +(v0*Math.cos(Math.toRadians(grad))*t) +" [m]\n");
fileW.write("Position in Y-Richtung: " +Py(v0, grad, t) +" [m]");
fileW.close();
}
catch (IOException e) {
System.out.println("Ergebnisse erfolgt, Ergebnis in Ergebnis.csv widerlegt");
}
}
}
}
Ich hab für vorliegende Aufgabe diesen Code geschrieben, welcher auch soweit 100% funktioniert und ebenfalls korrekt das ausführt, was verlangt ist.
Das einzige Problem: Die Anzahl der Kommandozeilenparamter soll ich mit Hilfe einer Methode lösen und nicht mit args.length.
Wenn nicht exakt 3 Kommandozeilenparameter eingegeben worden sind, dann soll eine Meldung auftauchen, so wie sie im oben stehenden Code erfolgt.
Wie löse ich das jetzt mittels Methode?