Ich habe gerade das folgende Programm beendet. Jetzt wurden wir gebeten, den folgenden Code in dem Snipet zu schreiben, das ich in einer Klasse präsentiert habe, die vom Treiberprogramm aufruft, aber ich weiß nicht, wie das aussehen würde, wie es funktionieren würde oder welche Terminologie benötigt wird Dies.Wie mache ich den folgenden Java-Code, den ich erstellt habe, zu einem Treiber und rufe Methode/Klasse auf?
/**
* Will Calculate the Area of Given Shapes.
*
* @author Adrian Miranda
* @version (a version number or a date)
*/
import java.util.Scanner;
public class Area_Shapes
{
public static void main(String[] args)
{
Scanner stdIn = new Scanner(System.in);
int Shape;
String A = "The Area is ";
double Area;
double Base;
double Height;
double q1;
double q2;
double radius;
double Length;
char response;
do
{
System.out.println(" Enter A Shape 1 = triangle 2 = square 3 = rhombus 4 = circle 5 = rectangle: ");
Shape = stdIn.nextInt();
if (Shape == 1)
{
System.out.println("Enter Base: ");
Base = stdIn.nextDouble();
System.out.println("Enter Height: ");
Height = stdIn.nextDouble();
Area = (Base * Height)/ 2 ;
System.out.println(A + Area);
System.out.println(" Enter Another Shape? (y/n): ");
response = stdIn.next() .charAt(0);
}
else if (Shape == 2)
{
System.out.println("Enter length ");
Length = stdIn.nextDouble();
Area = Length * Length;
System.out.println(A + Area);
System.out.println(" Enter Another Shape? (y/n): ");
response = stdIn.next() .charAt(0);
}
else if (Shape == 3)
{
System.out.println("Enter q1: ");
q1 = stdIn.nextDouble();
System.out.println("Enter q2: ");
q2 = stdIn.nextDouble();
Area = q1 * q2 * 0.5 ;
System.out.println(A + Area);
System.out.println(" Enter Another Shape? (y/n): ");
response = stdIn.next() .charAt(0);;
}
else if (Shape == 4)
{
System.out.println("Enter radius ");
radius = stdIn.nextDouble();
Area = radius * Math.PI * radius;
System.out.println(A + Area);
System.out.println(" Enter Another Shape? (y/n): ");
response = stdIn.next() .charAt(0);
}
else if (Shape == 5)
{
System.out.println("Enter Base: ");
Base = stdIn.nextDouble();
System.out.println("Enter Height: ");
Height = stdIn.nextDouble();
Area = (Base * Height) ;
System.out.println(A + Area);
System.out.println(" Enter Another Shape? (y/n): ");
response = stdIn.next() .charAt(0);
}
else
{
System.out.println("error, invalid shape, please enter a square triangle or rhombus.");
System.out.println(" Enter Another Shape? (y/n}: ");
response = stdIn.next() .charAt(0);;
}
}while (response == 'y');
}
}
ein paar Fragen hier also. Erstens, es scheint mir, dass Sie in der Gegend die Nummern für den Bereich bereits angegeben haben, aber ich möchte, dass der Benutzer sie selbst eingeben kann. 2 Wie könnte ich die ganze Programmschleife machen? 3 in der Fahrerklasse, kannst du mir die Art und Weise erklären, in der diese Linie die Shape_Area sa = new ....... funktioniert und was es ist. Und schließlich, 4, wie läuft das Programm, wenn es in die Nicht-Treiber-Klasse eingefügt wird, wie funktioniert es wie oder was ruft die Treiberklasse an, um den Bereich zu bestimmen und das Endergebnis zu erzeugen? –
@ A.Miranda: 1. Dieser Treiber fordert zur Eingabe auf. 2. Fügen Sie eine Schleife um den Eingabebereich hinzu und fragen Sie am Ende (ähnlich wie in der Klasse Shape_Area). 3. Sie erstellen ein neues Shape_Area-Objekt. So wie Sie Ihren aktuellen Shape_Area-Code haben (Anpassungen, die in der Antwort angegeben sind), schalten Sie die Form und die Ausgabe der Anzeige ein; Dies würde den gleichen Ansatz nutzen. 4. verstehe die Frage nicht. – KevinO
Für Frage 4, ich entschuldige mich, ich habe es merkwürdig gesagt, aber ich meine, wie das Programm läuft in Bezug auf die Aufruf-und Treiber-Methode. Ich bin neu im Codieren, deshalb habe ich Probleme, der Terminologie zu folgen und was und wie es funktioniert, um das Endergebnis zu erzielen. Bedeutung wie interagiert die Fahrerklasse mit der anderen? –