[英]“Cannot find symbol error” in my Triangle class
我不知道為什么我得到了num和三角形類型變量找不到符號錯誤的原因。
這是課程:
public class Triangle
{
private int s1;
private int s2;
private int s3;
public Triangle (int s1, int s2, int s3)
{
s1= num1;
s2= num2;
s3= num3;
}
public String toString()
{
return (s1 + " " + s2 + " " + s3);
}
public boolean is_equilateral(){
if(s1==s2 && s2==s3 && s3==s1)
{
return Triangle.is_equilateral;
}
else
{
return false;
}
}
public boolean is_isosceles(){
if((s1==s2)||(s2==s3)||(s3==s1))
{
return Triangle.is_isosceles;
}
else
{
return false;
}
}
public boolean is_scalene(){
if(s1!=s2 && s2!=s3 && s3!=s1)
{
return Triangle.is_scalene;
}
else
{
return false;
}
}
}
這是程序:
import java.util.Scanner;
public class Assignment5 {
//===========================================================
// Create and determine properties of various triangles.
//===========================================================
public static void main (String[] args) {
Scanner console = new Scanner(System.in);
int num1;
int num2;
int num3;
String another;
do
{
System.out.println("Enter the sides of the triangle: ");
num1 = console.nextInt();
num2 = console.nextInt();
num3 = console.nextInt();
Triangle myTriangle = new Triangle (num1, num2, num3);
System.out.println(myTriangle.toString() + " triangle:");
//check the isosceles
if (myTriangle.is_isosceles())
System.out.println("\tIt is isosceles");
else
System.out.println("\tIt is not isosceles");
//check the equilateral
if (myTriangle.is_equilateral())
System.out.println("\tIt is equilateral");
else
System.out.println("\tIt is not a equilateral");
//check the scalene
if (myTriangle.is_scalene())
System.out.println("\tIt is scalene");
else
System.out.println("\tIt is not scalene");
System.out.println();
System.out.print("Check another Triangle (y/n)? ");
another = console.next();
} while (another.equalsIgnoreCase("y"));
} // method main
} // class Assignment5
我對Java還是很陌生,所以很抱歉這是一個明顯的問題。
private int s1; // these belong to the class
private int s2;
private int s3;
public Triangle (int s1, int s2, int s3) // these belong to the constructor
{
s1= num1; // num1 isn't declared anywhere
s2= num2;
s3= num3;
}
您的類變量和構造函數的參數都命名為s1
- s3
。
您需要更改的參數num1
- num3
,或改變賦值語句使用this
關鍵字來引用類變量。 這是第一種方法:
private int s1; // these belong to the class
private int s2;
private int s3;
public Triangle (int num1, int num2, int num3) // these belong to the constructor
{
s1 = num1;
s2 = num2;
s3 = num3;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.