在我的一项任务中,要求我编写一个程序来计算半径为1.0的圆上的点的(x,y)坐标.以0.1的增量显示从1.00到负1.00的所有x值的y值输出,并使用printf整齐地显示输出,其中所有x值垂直对齐,并在所有x值的右侧对齐,y值为垂直对齐,例如:
x1 y1
1.00 0.00
0.90 0.44
我知道如何使用勾股定理来计算y值,但是我不知道如何通过使用循环并使用printf对其进行格式化来整齐地显示每个x和y值.下面是我到目前为止的代码,对您有帮助将不胜感激:
public class PointsOnACircleV1 {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
// // create menu
// create title
System.out.println("Points on a circle of Radius 1.0");
// create x1 and y1
System.out.println(" x1 y1");
// create line
System.out.println("_________________________________________________");
// // display x values
// loop?
// // perform calculation
// radius
double radius = 1.00;
// x value
double x = 1.00;
// calculate y value
double y = Math.pow(radius, 2) - Math.pow(x, 2);
}
}
解决方法:
public static void main(String[] args) {
double radius = 1.00;
double x , y ;
for ( x=-1.0 ; x<=1.0; x+=0.2 ) {
y = Math.sqrt(radius - Math.pow(x,2)) ;
System.out.printf("\n" + x +" "+ y);
}
}
循环中的代码可以根据需要进行调整.