簡體   English   中英

調用方法btwn兩個不同的類

[英]Call to methods btwn two different classes

以下是此作業的說明: http : //textuploader.com/55z48

對於作業,我需要閱讀輸入文本文件並根據在文本文件中找到的數據評估三角形,該文本文件由數量未知的3個數字組組成(每個組代表一個不同的三角形)。 根據項目規范,我需要一種主要方法和其他幾種方法。 我將在下面發布我的兩個課程。

我想我有正確的三角類設置,除了floatEqual。 如何將其合並到isEquilateral和isIsosceles方法中?

public class Triangle
{

    public static double computePerimeter(double num1, double num2, double num3)
    {
        return num1 + num2 + num3;
    }

    public static boolean isEquilateral(double num1, double num2, double num3)
    {
        return num1 == num2 && num2 == num3;
    }

    public static boolean isIsosceles(double num1, double num2, double num3)
    {
        return num1 == num2 || num2 == num3 || num1 == num3;
    }

    public static void triangleType(double num1, double num2, double num3)
    {
        if(isEquilateral(num1,num2,num3) == true)
        {
            System.out.println("Equilateral");
        }
        if(isIsosceles(num1,num2,num3) == true)
        {
            System.out.println("Isosceles");
        }
        else
        {
            System.out.println("Scalene");
        }
    }
}

下面的代碼是我的TriangleEvaluator類,應該從Triangle類中調用方法。 但是我很困惑如何實現這一目標。 我認為我那里沒有必要的代碼,但是我不確定。 我昨晚一直在努力,今天要完成它,還有一些我似乎無法回到Java模式的方法。

import java.io.*;
import java.util.Scanner;

public class TriangleEvaluator
{
    public static void main(String[] args) throws FileNotFoundException
    {
        Scanner in = new Scanner(new File("triData.txt"));    
        double num1 = 0;
        double num2 = 0;
        double num3 = 0;
        double perim = 0;
        while (in.hasNextDouble())
        { 
            num1 = in.nextDouble();
            num2 = in.nextDouble();
            num3 = in.nextDouble();

            perim = computePerimeter(num1, num2, num3);
            System.out.println(perim);
        }
    }

    public static boolean floatEquals(double num1, double num2)
    {
        double Err = 0.00000001;
        if(Math.abs(num1 - num2) < Err)
        {
            return true;
        }
        else
        {
            return false;
        }
    }

    public static double computePerimeter(double num1, double num2, double num3)
    {
        double perimeter;
        perimeter = (num1 + num2 + num3);
        return perimeter;
    }
}

這是輸入的示例:

18.7 30 18.7
3 4 5
20.72 20.72 20.72

和所需的輸出:

18.7 30.0 18.7
Perimeter: 67.40
Isosceles

3.0 4.0 5.0
Perimeter: 12.00
Scalene

20.7 20.7 20.7
Perimeter: 62.16
Equilateral

在此先感謝您(我絕不打算讓任何人為我做我的任務,因此,如果您是這樣的話,請原諒我-謝謝!)任何幫助或指導,我們將不勝感激!

如果Triangle和TriangleEvaluator在同一程序包中(即,IE通常只是同一目錄),則可以通過在方法之前指定類來從Triangle調用靜態方法。

Triangle.isIsoceles(1.0,2.0,3.0)。

如果它們不在同一個包中,則必須像java.io一樣導入Triangle類。 但是,您幾乎可以肯定不需要導入Triangle。

這僅適用於靜態方法。 如果方法是動態的(方法聲明中沒有靜態方法),則必須使用(當前未指定)三角形構造函數創建Triangle對象。 然后,您可以通過myTriangleObject.aMethod()調用它們

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM