Also schreibe ich einen Code, der es einem Benutzer erlaubt, ein imaginäres Objekt in einem anfänglichen Winkel und einer Geschwindigkeit zu werfen, um zu sehen, ob sie einen Ball (der positionsbasiert ist) erreichen kann auf Benutzereingabe).Notwendigkeit, Projektilbewegung eines geworfenen Balls zu zeichnen
Allerdings habe ich Probleme beim Zeichnen der Kurve des vom Benutzer eingegebenen Winkels und der Geschwindigkeit des imaginären Objekts.
Ich habe eine mathematische Formel verwendet, um die Gesamtzeit und die Reichweite des Objekts zu berechnen. Das heißt:
= 02sin (2/180) = 20sin (/ 180)
Ich habe bereits versucht, versucht Bereich zu setzen und die Gesamtzeit in einen Bogen und es auf diese Weise aufgetragen ist. Aber das schien nicht zu funktionieren.
Hier ist der Code:
import java.awt.AWTEvent;
import java.awt.*;
import java.awt.Color;
import java.awt.Graphics;
import javax.swing.JFrame;
import java.util.Scanner;
import java.awt.geom.QuadCurve2D;
public class BallGame extends JFrame {
public static void main (String[]args)
{
Scanner cool= new Scanner(System.in);
double angle, speed, range, totalTime;
{
JFrame frame = new JFrame (" Throwing Ball");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(700,700);
}
{
System.out.println("Please enter the location of the ball (0 < X < 1)");
StdDraw.setPenRadius(0.06);
StdDraw.setPenColor(StdDraw.BLUE);
double x, y;
y = 0;
x = cool.nextDouble();
StdDraw.point(x, y);
}
System.out.println("Please enter an angle of your choosing:");
angle = cool.nextDouble();
System.out.println("Please enter the speed at wish you which to throw the ball");
speed = cool.nextDouble();
double g;
g = 9.8;
range = Math.pow(speed, 2) * Math.sin(2 * angle * (Math.PI/180)/g);
totalTime = (2 * speed * Math.sin(angle * Math.PI/180))/g;
Warum platzierst du etwas in '{...}'? Normalerweise verwenden Sie solche Blöcke nicht, sie werden hier auch nicht benötigt. – Zabuza
@Zabuza, habe ich bestimmte Teile meines Codes in Klammern gesetzt, um es besser zu machen + es machte den spezifischen Teil meines Codes, der nach Benutzereingaben fragt, um den stationären Ball zu erstellen, der für die Programmarbeit benötigt wird, ohne irgendeinen der vorherigen Fehler zu bekommen Ich hatte vorher, dass es nicht in einer Klammer war, da die X-Variable mir sagen würde, dass es für den Punkt nicht initialisiert wurde und die Benutzereingabe, die für den X-Wert benötigt wird, überhaupt nicht funktionieren würde. Deshalb habe ich Klammern gesetzt. – Yume
siehe: https://stackoverflow.com/help/someone-answers – c0der