获取绘图面板的用户输入并在另一种方法中使用它

时间:2017-10-16 21:27:03

标签: java methods user-input

我是java的新手,我需要一点任务的帮助。分配是获取用户输入(半径,x坐标和y坐标)以在drawingPanel中绘制3个不同颜色的圆,我将该部分放下。第二部分要求我们提供一种静态方法,该方法比较两个圆的半径,并让用户知道一个是否比另一个更小,更大或相同。我在查找如何在比较两者的方法中使用半径的输入时遇到问题。

到目前为止,这是我的代码:

select()

1 个答案:

答案 0 :(得分:0)

您可以减少实现中的代码重用。为给定的输入参数创建一个通用方法来创建圆。

public static void blueCircle(Graphics g, int r, int x, int y, Color c) {
    g.setColor(c);
    g.fillOval(0 + x, 0 + y, r * 2, r * 2); 
}

然后是一个用于半径比较的通用方法。

public static String compareCircles(int r1, int r2) {  
       String output = "";
       if (r1 < r2)
           output = r1+" circle is smaller than "+r2;
       if (r1 == r2)
           output = "both circles are in same size.";
       if (r1 > r2)
           output = r1+" circle is larger than "+r2;
       return output;
}

现在在主要内容中获取必要的输入并将它们传递给这些方法。

public static void main(String[] args) {
   DrawingPanel panel = new DrawingPanel(400, 300);
   Graphics g = panel.getGraphics();
   System.out.println("Enter values for the radius, x , & y-coordinates of blue circle: ");
   int rBlue = CONSOLE.nextInt();
   int xBlue = CONSOLE.nextInt();
   int yBlue = CONSOLE.nextInt();
   // Better to do the validation for the user inputs 
   blueCircle(g, rBlue, xBlue, yBlue, Color.BLUE);
   // Do the same thing for the other two circles. 
   // Then call the comparison method with your r input values like below.
   //String output = compareCircles(rBlue, rGreen);

}

希望这就是你要找的......