java方法有问题,因为它给了我2次答案
编写一个程序,向用户询问圆的半径,并计算和显示面积。程序应仅接受半径的非零正值,并在用户尝试输入零值或负值时显示错误消息。应使用main方法获取用户输入并将其传递给区域的方法circleArea 计算 方法circleArea应返回随后从中显示的区域 方法main通过print语句 工作:java方法有问题,因为它给了我2次答案,java,Java,编写一个程序,向用户询问圆的半径,并计算和显示面积。程序应仅接受半径的非零正值,并在用户尝试输入零值或负值时显示错误消息。应使用main方法获取用户输入并将其传递给区域的方法circleArea 计算 方法circleArea应返回随后从中显示的区域 方法main通过print语句 工作: import java.util.Scanner; public class Question1 { public static double circleArea (double radius,doub
import java.util.Scanner;
public class Question1 {
public static double circleArea (double radius,double area,double pi) {
area=pi*radius*radius;
if(radius<=0) {
System.out.println("Error");
}
else {
System.out.println("The area: "+area);
}
return area;
}
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
int r;
final double p=3.142d;
double ac = 0;
System.out.println("Enter radius: ");
r=input.nextInt();
System.out.println("area: " +circleArea(r,p,ac));
}
}
import java.util.Scanner;
公开课问题1{
公共静态双回路A(双半径、双面积、双pi){
面积=圆周率*半径*半径;
if(radius它会打印两次结果,因为一次在circleArea()方法内部打印,然后在main()方法中再次打印。如果删除其中一个调用,它会正常工作它会打印两次结果,因为一次在circleArea()方法内部打印,然后在main()中再次打印方法。如果删除其中一个调用,它应该可以正常工作不,它不会。一旦在方法中打印结果,然后在主方法中打印它,在主方法中打印方法的返回值,它会打印两次,因为在代码中编写了两条输出语句:System.out.println(“区域:“+area”)
和System.out.println(“区域:+circleArea(r,p,ac));
您的else-part语句正在打印区域,您调用方法本身的方式是在print语句中。您的参数顺序错误:(双半径,双区域,双pi)
与(r,p,ac)
。我很惊讶你的代码输出了78.55,因为ac
是0,并且你将其作为pi
的值传递。但是我怎么能打印一次呢?不,不是。你在方法中打印一次结果,然后在主方法中打印,在主方法中打印方法的返回值,因为在你的代码中,它会打印两次您已经编写了两条输出语句:System.out.println(“区域:+area”);
和System.out.println(“区域:+circleArea(r,p,ac));
您的else部分语句正在打印区域,并且您调用方法本身的方式是在print语句中。您的参数顺序错误:(双半径、双面积、双pi)
与(r、p、ac)
。我很惊讶你的代码输出了78.55,因为ac
是0,你将其作为pi
的值传递。但是我怎么能打印它一次呢?你基本上只是重复两条注释已经重复的内容said@Stultuske:那可能没关系,因为那应该是一个答案。它确实回答了这个问题。@Stultuske,但是至少他给出了一个答案。你基本上只是在重复两个评论已经说过的内容said@Stultuske:那可能没关系,因为那应该是一个答案。它确实回答了这个问题。@Stultuske,但至少他给出了一个答案。