几何面积计算器
Geometry Area Calculator
我正在尝试在 Java 中制作一个面积计算器,它将根据用户给定的尺寸计算三角形的面积。我可以让用户从菜单中选择 select 三角形选项并输入它们的尺寸,但是当我尝试使用一种方法来计算面积时,它只会打印出 0.0
。
{
Scanner tbaseChoice = new Scanner(System.in);
System.out.println("What is the base?");
double selectionb = tbaseChoice.nextDouble();
tbaseChoice.equals(Tbase);
Scanner theightChoice = new Scanner(System.in);
System.out.println("What is the height?");
double selectionh = theightChoice.nextDouble();
theightChoice.equals(Theight);
System.out.println("BASE:" + selectionb + " " + "HEIGHT:" + selectionh);
//tbaseChoice.equals(Tbase);
//theightChoice.equals(Theight);
}
public static void calculateArea() {
double triangleArea = Theight * Tbase;
System.out.print("Area=" + triangleArea);
}
问题是您不应该使用 Scanner
class 的 equals
方法来为 Theight
和 Tbase
赋值变量。您应该改为使用 =
赋值运算符来执行此操作。所以用
替换 theightChoice.equals(Theight);
Theight = selectionh;
和tbaseChoice.equals(Tbase);
以及
Tbase = selectionb;
为什么你的代码之前不能工作可以从这里看出link,https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html#equals(java.lang.Object)
Scanner
class中的equals
方法继承自Java的Object
class,只是returns 一个布尔值。在您之前的代码中,您正在检查 Scanner
对象是否等于另一个对象,但是没有对返回的布尔值进行任何操作。因此,您的 Tbase
和 Theight
变量没有改变。
您可以尝试使用这些代码。也许这会对你有所帮助
public class AreaCalculator {
static double base=0.0;
static double height=0.0;
public static void main(String args[]){
//Scanner object for input
Scanner scanner=new Scanner(System.in);
System.out.println("What is the base?");
base=scanner.nextDouble();
System.out.println("What is the height?");
height=scanner.nextDouble();
System.out.println("BASE:" + base + " " + "HEIGHT:" + height);
System.out.println("Area is: "+triangleArea());
}
public static double triangleArea(){
return (.5*base*height);
}
}
我正在尝试在 Java 中制作一个面积计算器,它将根据用户给定的尺寸计算三角形的面积。我可以让用户从菜单中选择 select 三角形选项并输入它们的尺寸,但是当我尝试使用一种方法来计算面积时,它只会打印出 0.0
。
{
Scanner tbaseChoice = new Scanner(System.in);
System.out.println("What is the base?");
double selectionb = tbaseChoice.nextDouble();
tbaseChoice.equals(Tbase);
Scanner theightChoice = new Scanner(System.in);
System.out.println("What is the height?");
double selectionh = theightChoice.nextDouble();
theightChoice.equals(Theight);
System.out.println("BASE:" + selectionb + " " + "HEIGHT:" + selectionh);
//tbaseChoice.equals(Tbase);
//theightChoice.equals(Theight);
}
public static void calculateArea() {
double triangleArea = Theight * Tbase;
System.out.print("Area=" + triangleArea);
}
问题是您不应该使用 Scanner
class 的 equals
方法来为 Theight
和 Tbase
赋值变量。您应该改为使用 =
赋值运算符来执行此操作。所以用
theightChoice.equals(Theight);
Theight = selectionh;
和tbaseChoice.equals(Tbase);
以及
Tbase = selectionb;
为什么你的代码之前不能工作可以从这里看出link,https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html#equals(java.lang.Object)
Scanner
class中的equals
方法继承自Java的Object
class,只是returns 一个布尔值。在您之前的代码中,您正在检查 Scanner
对象是否等于另一个对象,但是没有对返回的布尔值进行任何操作。因此,您的 Tbase
和 Theight
变量没有改变。
您可以尝试使用这些代码。也许这会对你有所帮助
public class AreaCalculator {
static double base=0.0;
static double height=0.0;
public static void main(String args[]){
//Scanner object for input
Scanner scanner=new Scanner(System.in);
System.out.println("What is the base?");
base=scanner.nextDouble();
System.out.println("What is the height?");
height=scanner.nextDouble();
System.out.println("BASE:" + base + " " + "HEIGHT:" + height);
System.out.println("Area is: "+triangleArea());
}
public static double triangleArea(){
return (.5*base*height);
}
}