[英]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.