簡體   English   中英

接收內存位置而不是字符串輸出

[英]reciving memory location instead of string output

當我運行程序而不是正常應該從RightTriangle類中的toString方法接收字符串時,應該從驅動程序打印對象時接收字符串的內存位置。 我該如何解決這個問題?

這是RightTriangleDriver類

import java.util.*;
public class RightTriangleDriver
{
    public static void main ( String [] args )
        {
        Scanner reader = new Scanner ( System.in );

        System.out.println ( "Enter the length of the first leg " );
        double leg1 = reader.nextDouble ();

        System.out.println ( "Enter the length of the second leg " );
        double leg2 = reader.nextDouble ();

        RightTriangle f1 = new RightTriangle ( leg1, leg2 );
        System.out.println ( f1 );
        }
}

這是RightTriangle類。

public class RightTriangle
{
private double leg1;
private double leg2;
private double hyp;

public RightTriangle (double one , double two)
    {
    leg1 = one;
    leg2 = two;
    hyp = Math.sqrt ( Math.pow ( leg1 , 2 ) + Math.pow (leg2 , 2 ) );   
    }

public double perimiter ()
    {
    double perimiter = 0;
    perimiter = leg1 + leg2 + hyp;
    return perimiter;
    }

public double area ()
    {
    double area = 0;
    area = ( leg1*leg2 )/2;
    return area;
    }

public String toSting ()
    {
     String str;
     str = "Leg 1 is " + leg1 + " units long. Leg 2 is " + leg2 + " units long." + "\n" + "the  Hypotenuse is " + hyp +
             " units long." + "\n" + " The perimiter is " + perimiter () + " units and the area is " + area () +
             " units squared.";
     return str;
    }
}

方法名稱是toString。 您的書寫不正確。

每當您重寫超類的方法時,請使用@Override批注(toString是每個類默認繼承的Object類的方法)。 這將幫助您了解您是否真的要覆蓋該方法。

暫無
暫無

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

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