我是一个非常新的编码器,我遇到了一些困难。我通过输入四个值(x,y和x,y)输入两个点后,编写一个应该打印出区域和圆的半径的代码。没有错误,但是当我运行程序时,我没有得到任何关于半径和我要求的区域的结果。请看一看并告诉我你的想法。谢谢!
import java.util.Scanner;
/**
*
* @author Dominique
*/
public class AreaCircle {
public static double distance(double x1, double y1, double x2, double y2) {
double dx = x2 - x1;
double dy = y2 - y1;
double dsquared = dx * dx + dy * dy;
double radius = Math.sqrt(dsquared);
System.out.println("The radius of your circle is " + dsquared);
return radius;
}
public static void areaCircle(double radius) {
double circleArea = (double) Math.pow(radius, 2) * (double) Math.PI;
System.out.println("The area of your circle is " + circleArea);
return;
}
public static double distance(int x1, int x2, int y1, int y2) {
distance(0.5, 0.6, 0.7, 0.8);
areaCircle(0.8);
return;
}
public static void main(String[] args) {
System.out.println("Enter in the x of one of your points");
Scanner kbdln = new Scanner(System.in);
double pickOne = kbdln.nextDouble();
System.out.println("Enter in the y of one of your points");
double pickTwo = kbdln.nextDouble();
System.out.println("Enter in the x of your second point");
double pickThree = kbdln.nextDouble();
System.out.println("Great! Lastly, enter in the y of your second point");
double pickFour = kbdln.nextDouble();
}
}
答案 0 :(得分:1)
在您的主方法中,没有其他调用,例如距离(..)或 areaCircle(..)
尝试将以下代码添加到您的主要内容
int numTrans;
char tempChar[1000];
double tempHolder;
string **tempDataHolder;
cout<<"Input number of transactions to add: ";
cin>>numTrans;
tempDataHolder = new string*[numTrans]; //pointer array
for(i=0;i<numTrans;i++)
tempDataHolder[i] = new string[col];
cout<<"\nPlease input the following data as necessary: \n";
for(ir=0; ir<numTrans;ir++)
{
cout<<"Date Requested: "; //This may seem unnecessary but some companies require paper
//documentation aside from a system to approve petty cash
//and sometimes the accounting staff has too much to do to
//perform data entry jobs in realtime such as this
getline(cin,tempDataHolder[ir][col]);
cout<<"Person Requesting Funds: ";
getline(cin,tempDataHolder[ir][col+1]);
cout<<"Person who approved request: ";
getline(cin,tempDataHolder[ir][col+2]);
cout<<"Amount Requested: Php. ";
cin>>tempHolder; //temp double number to properly format money
ostringstream convert;
convert<<tempHolder;
tempDataHolder[ir][col+3] = convert.str();
cout<<"Particulars: ";
getline(cin,tempDataHolder[ir][col+4]);
tempDataHolder[ir][col+5] = " "; //initialized to empty space because
tempDataHolder[ir][col+6] = " "; //data has not yet been retrieved
tempDataHolder[ir][col+7] = " "; //through liquidation
tempDataHolder[ir][col+8] = " ";
tempDataHolder[ir][col+9] = "false";
}
tableSize = deterSize(curFileName) + (numTrans*col); //this will ensure the next table will house all new elements as well
readCurFile(curFileName, tableSize);
displayCurTable(tableSize);
delete tempDataHolder;
计算结果并打印出来。
答案 1 :(得分:0)
在主块中,您没有编写任何代码来计算面积和半径。 在&#34;之后的Main(string [] args){}块中,双pickFour = kbdln.nextDouble();&#34; 写下代码:
double radius = distance(pickOne, pickTwo ,pickThree, pickFour);
double area = areaCircle(radius);
所以你的代码看起来像这样:
package areacircle;
import java.util.Scanner;
/**
*
* @author Dominique
*/
public class AreaCircle {
public static double distance
(double x1, double y1, double x2, double y2) {
double dx = x2 - x1;
double dy = y2 - y1;
double dsquared = dx*dx + dy*dy;
double radius = Math.sqrt (dsquared);
System.out.println ("The radius of your circle is " + dsquared);
return radius;
}
public static void areaCircle(double radius){
double circleArea=(double)Math.pow(radius,2)*(double) Math.PI;
System.out.println("The area of your circle is "+circleArea);
return;
}
public static double distance
(int x1, int x2, int y1, int y2){
distance(0.5, 0.6, 0.7, 0.8);
areaCircle(0.8);
return ;
}
public static void main(String[] args) {
System.out.println("Enter in the x of one of your points");
Scanner kbdln=new Scanner(System.in);
double pickOne=kbdln.nextDouble();
System.out.println("Enter in the y of one of your points");
double pickTwo=kbdln.nextDouble();
System.out.println("Enter in the x of your second point");
double pickThree=kbdln.nextDouble();
System.out.println("Great! Lastly, enter in the y of your second point");
double pickFour=kbdln.nextDouble();
//The added part
double radius = distance(pickOne, pickTwo ,pickThree, pickFour);
double area = areaCircle(radius);
}
}