我对Java相当陌生,有人能帮我提高代码的效率吗?
这段代码的目标是获取关于四边形两侧的用户输入,并输出形状的周长和面积。我对Java语言非常陌生,因此,这些错误最有可能通过一两次小的编辑得到解决。如果有Java编程经验的人能帮助我,我将不胜感激:)我对Java相当陌生,有人能帮我提高代码的效率吗?,java,Java,这段代码的目标是获取关于四边形两侧的用户输入,并输出形状的周长和面积。我对Java语言非常陌生,因此,这些错误最有可能通过一两次小的编辑得到解决。如果有Java编程经验的人能帮助我,我将不胜感激:) 它很好,几乎没有错误。下面是代码的可编译版本。如果你有任何问题,请告诉我 import java.util.Scanner; public class Quadrilateral { public static void main(String[] args) {
它很好,几乎没有错误。下面是代码的可编译版本。如果你有任何问题,请告诉我
import java.util.Scanner;
public class Quadrilateral {
public static void main(String[] args) {
double area, perimeter;
String answer;
Scanner ans1 = new Scanner(System.in);
System.out.println("Is your desired shape 2-dimensional or 3-dimensional: 2d or 3d");
answer = ans1.next();
switch (answer) {
case "2d":
System.out.println("Good, you shall be allowed to continue.");
break;
case "3d":
System.out.println("You are bad and should feel bad.");
System.exit(1);
}
Scanner keys = new Scanner(System.in);
System.out.print("Enter your first side length: \n");
double side1 = keys.nextDouble();
System.out.print("Enter your second side length: \n");
double side2 = keys.nextDouble();
System.out.println("The perimeter of your desired shape is: \n" + perimeter(side1, side2));
System.out.println("The area is: \n" + area(side1, side2));
}
public static double area(double side1, double side2) {
return side1 * side2;
}
public static double perimeter(double side1, double side2) {
return ((2 * side1) + (2 * side2));
}
}
您需要了解变量的范围。您可以声明
双面积、周长代码>在main
内部,这意味着这些变量是main的本地变量,这意味着它们不再存在于main之外的任何地方
您需要在periment方法内部声明双周长
,然后为area返回它,反之亦然
或者,您不能在这些方法中使用变量,而只是简单地返回side1*side2
您说您得到错误是什么?请清楚地描述错误是什么,如果您能够构建程序,请描述您如何测试它,以及观察到的和预期的输出是什么。如果需要,您可以参考
import java.util.Scanner;
public class Quadrilateral {
public static void main(String[] args) {
double area, perimeter;
String answer;
Scanner ans1 = new Scanner(System.in);
System.out.println("Is your desired shape 2-dimensional or 3-dimensional: 2d or 3d");
answer = ans1.next();
switch (answer) {
case "2d":
System.out.println("Good, you shall be allowed to continue.");
break;
case "3d":
System.out.println("You are bad and should feel bad.");
System.exit(1);
}
Scanner keys = new Scanner(System.in);
System.out.print("Enter your first side length: \n");
double side1 = keys.nextDouble();
System.out.print("Enter your second side length: \n");
double side2 = keys.nextDouble();
System.out.println("The perimeter of your desired shape is: \n" + perimeter(side1, side2));
System.out.println("The area is: \n" + area(side1, side2));
}
public static double area(double side1, double side2) {
return side1 * side2;
}
public static double perimeter(double side1, double side2) {
return ((2 * side1) + (2 * side2));
}
}