Mehrere Methoden in der Bestimmung der Fläche von Rechteck
Die Frage, bin ich wirklich hängengeblieben ist:
Schreiben Sie ein Programm, das der Benutzer aufgefordert wird, geben Sie die Breite und Länge eines Rechtecks, und dann zeigt die Rechteck-Fläche. Das Programm soll die folgenden Methoden aufrufen:
• getLength – Diese Methode sollte den Benutzer auffordern, geben Sie das Rechteck der Länge, und dann wieder, dass der Wert als double.
• getWidth – Diese Methode sollte den Benutzer auffordern, geben Sie dem Rechteck die Breite, und dann wieder, dass der Wert als double.
• getArea – Diese Methode sollte akzeptieren das Rechteck Länge und Breite als Argumente und return das Rechteck Bereich. Die Fläche wird durch Multiplikation der Länge durch die Breite.
• displayArea – Diese Methode sollte akzeptieren das Rechteck der Länge, Breite und Fläche als Argumente, und zeigen Sie Sie in einer entsprechenden Nachricht auf dem Bildschirm.
Ich weiß nicht, wie dieser code denn jetzt, was ich habe, ist diese:
import java.util.Scanner;
public class WidthLengthAreaMethods
{
public static void main(String[]args)
{
Scanner keyboard = new Scanner(System.in);
double length;
double width;
double area;
length = getLength();
width = getWidth();
area = getArea(double length, double width);
displayData(length, width, area);
}
public static double getLength()
{
System.out.println("Enter length. ");
length = keyboard.nextDouble();
System.out.println("The length is " + length);
}
public static double getWidth()
{
double width;
System.out.println("Enter width. ");
width = keyboard.nextDouble();
System.out.println("The width is " + width);
}
public static double getArea()
{
double length;
double width;
double area = length * width;
System.out.println("The area is: " + area);
}
public static void displayData(double length, double width, double area)
{
System.out.println(" The length is: \t" + length);
System.out.println(" The width is: \t" + width);
System.out.println(" The area is: \t" + area);
}
}
Was bin ich Zuschrauben und wie würde ich mich über die Befestigung? Ich bin ein Anfänger im Programmieren, also bitte Geduld mit mir :D.
Danke Jungs!!
- Was erwarten Sie von diesem code zu tun, und was tut Sie stattdessen? Was ist deine konkrete Frage? Hat Ihr getArea () - Akzeptanz; Breite und Höhe als Argumente, als gefragt zu werden? Was macht der compiler sagen? Hast du die Fehlermeldung Lesen? Weil Sie dazu bestimmt sind, gelesen zu werden.
- Ich vermute, dass das nicht kompilieren? Die Signatur der Methode ( vergessen zu statisch für den moment )
public static double getLength()
bedeutet, dass die Methode zurückdouble
Wert, wenn es aufgerufen wird und je nach dem code, weisen Sie es einer Variablen. Ihre Methode nichts zurück. Setzenreturn length
als Letzte Anweisung in der Methode - tun, ta ähnliches zu IhremgetWidth()
Methode - sehen, wo Sie dann stehen - Auf den ersten Blick sehe ich ein problem, dass Ihre Methoden (getLength(), getWidth(), etc.) keinen Zugriff auf die Tastatur, da erklären Sie es in den Körper von main (), anstatt in der Klasse als ganzes (z.B. oberhalb von main()). Wenn es etwas anderes, genauer in deiner Frage.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Seit Ihr Programm ist aufgeteilt in mehrere Methoden, die Daten innerhalb jeder Methode ist die lokale, es sei denn Sie speichern Sie es in der Klasse selbst.
Beispielsweise Ihre Helfer-Funktionen für getLength() und getWidth() wäre nicht in der Lage den Zugang Ihrer Tastatur, Scanner, es sei denn, Sie erklärt es außerhalb der main-Methode, die als solche:
Andere alternative wäre, Ihren pass-Scanner, um die einzelnen helper-Methoden sind in Ihrer Funktion Aufrufe, z.B.
Während Sie den Scanner, um jede Funktion einzeln erlauben würde, Ihre Methoden zu arbeiten, wie beabsichtigt, die erste option ist etwas besser lesbar.
Die andere Sache zu prüfen ist, dass, wenn eine Methode einen Rückgabewert, wie ein Doppel im Fall von getLength(), getWidth(), und getArea () der code die Funktion aufrufen, wird erwartet, einige Variablen von diesem Typ zurückgegeben werden. Im Falle eines void-Funktion wie main() oder displayData(), die Methode, die besagt, dass es nicht wieder eine variable eines bestimmten Typs.
Daher, wenn Sie Länge, um gleich getLength(), was Sie zu tun versuchen ist, setzen Sie den Wert der lokalen variable Länge gleich dem Wert kommen zurück von Ihrer Hilfsfunktion. Wenn dieser Wert nicht an, wird das Programm wahrscheinlich nicht in der Lage zu kompilieren, wird ein Fehler geworfen werden, die besagt etwas entlang der Linien von "erwartet Typ "double", wenn Sie versuchen, rufen Sie die Funktion. Fixieren Sie die compiler-Fehler Auftritt, wird eine return-Anweisung muss Hinzugefügt werden, zu den Hilfsfunktionen, wie zum Beispiel:
Kombinieren all das sollte es erlauben, die compiler-Fehlermeldungen zu stoppen, und damit das Programm korrekt funktioniert.
Hier ist der funktionierende Lösung
Müssen Sie zum erstellen von Klassen, getter-und setter-Methoden zur Bestimmung der Fläche des Rechtecks über der Klasse. Hier ist der code,