私は最近、次のプログラムを終了しました。今私は、ドライバプログラムから呼び出すクラスに提示したスニペットで次のコードを作成するように求められましたが、どのように見えるか、どのように動作するか、または必要な用語についてはわかりませんこの。ドライバに作成したメソッド/クラスを呼び出して、次のJavaコードを作成するにはどうすればよいですか?
/**
* 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');
}
}
(編集は、ドライバクラスの例のループを追加しました)。 1つは、この地域ではすでに地域の番号が与えられているようですが、ユーザーが入力できるようにしたいと考えています。 2プログラム全体をどのようにループさせることができるでしょうか。ドライバークラスの3、あなたは私にその行Shape_Area sa = new .......がどのように作用し、それが目的であるかを説明することができますか?最後に、4、プログラムをどのように非ドライバクラスに挿入するか、どのように機能しているのか、ドライバクラスから何を呼び出して、領域を与えて最終結果を生成するのかという点でプログラムを実行していますか? –
@ A.ミランダ:1.このドライバは入力を求めています。 2.入力領域の周りにループを追加し、最後に(現在のShape_Areaクラスのものに似ています)尋ねます。 3.新しいShape_Areaオブジェクトを作成します。あなたの現在のShape_Areaコード(答えに指摘されている調整値)を持っているか、シェイプをオンにして出力を表示します。これは同じアプローチを活用するだろう。 4.その質問を理解していない。 – KevinO
質問4については、私は奇妙なことを言いましたが、呼び出しとドライバの方法でプログラムがどのように動作しているかを知っています。私はコーディングには新しいので、用語に従うのが難しく、最終結果を出すという点で何がどのように機能するのかということに問題があります。意味はどのようにドライバクラスは、他と相互作用しているのですか? –