2016-04-19 13 views
0

Ich habe bereits die Klasse, die ich in meinem Code implementieren muss. Die Anweisungen sind: Code ein Testprogramm/Klasse. Dies sollte Objekte der Klasse, die Sie in Schritt 1 codiert haben, konstruieren oder instanziieren. Ihr Testprogramm sollte alle Methoden aufrufen, um sicherzustellen, dass sie funktionieren. Sie sollten mindestens zwei Objekte erstellen - eines mit dem Standardkonstruktor und eines mit dem Konstruktor "other". Fragen Sie den Benutzer im zweiten Szenario nach den Werten für (Radius und) Höhe. Sie können dafür beliebige Eingaben und Ausgaben verwenden.Mein Programm testen?

Das ist, was ich habe, so weit und ich bin fest:

public class Cube 
{ 

    private double height; 

    public Cube(){ 
     height = 1.0; 
    } 

    public Cube(double h){ 
     height = h; 
    } 

    public double getHeight(){ 
     return height; 
    } 

    public void setHeight(double h){ 
     height = h; 
    } 

    public double calcVolume() { 
     return height*height*height; 
    } 

    public double calcSurface(){ 
     return height*height*6; 
    } 

    public String toString(){ 
     return this.toString(); 
    } 

    public boolean equals(Cube c){ 
     return (c.getHeight() == this.height); 
    } 

} 


import java.util.* 
public class TestTheCube 

{ 
    public static void main(String[] args) 

    { 

    Cube cube1 = new Cube(); 
    Scanner kb = new Scanner(System.in); 
    System.out.print("Enter a height as a positive number"); 
    double height = kb.nextDouble(); 

    Cube cube2 = new Cube(height); 

    System.out.println(

    } 

} 
+1

Sie sollten den Code direkt hier teilen und die Links für diesen Zweck vermeiden. Da die Links in Zukunft möglicherweise unterbrochen werden, wird diese Frage nicht als Bezugspunkt für zukünftige Leser dienen. Plus, teilen Sie mehr Details darüber, wo Sie hängen bleiben, wie die Ausnahme Stack-Ablaufverfolgung oder die erwartete Ausgabe gegenüber der tatsächlichen Ausgabe –

+0

Mit Blick auf TestTheCube.java, haben Sie bereits 2 Instanzen von Cube erstellen. Sie müssen also die Instanzmethode jedes Objekts aufrufen. – root

+0

Rufen Sie einfach jede Methode auf, drucken Sie die Ausgabe und ob sie mit dem erwarteten Wert übereinstimmt. – Zong

Antwort

0

Ich habe calcVolume() von cube1 und cube2 aufgerufen.

Cube cube1 = new Cube(); 
    Scanner kb = new Scanner(System.in); 
    System.out.print("Enter a height as a positive number"); 
    double height = kb.nextDouble(); 

    Cube cube2 = new Cube(height); 

    System.out.println("Cube 1's volume = "+cube1.calcVolume()); 
    System.out.println("Cube 2's volume = "+cube2.calcVolume()); 
    .....//repeat for every instance method you have. 
+0

Aber das verwendet nicht die Nummer, die sie eingegeben haben, oder? – Josh

+0

Es tut es. Für 'cube2' haben Sie den Cube mit der vom Benutzer eingegebenen' height' initialisiert. Wenn 'calcVolume()' auf 'cube2' aufgerufen wird, wird das Volumen basierend auf der von der Eingabe bereitgestellten Höhe berechnet. – root

+0

-Enter Höhe als positive Zahl: 10 -Cube 1 1.0 -Cube 2 surface = 1000.0 -Cube 1 6.0 -Cube 2 surface = 600.0 – Josh

Verwandte Themen