Problem Description输入两点坐标(X1,Y1),(X2,Y2),计算并输出两点间的距离。
Input输入数据有多组,每组占一行,由4个实数组成,分别表示x1,y1,x2,y2,数据之间用空格隔开。 Output对于每组输入数据,输出一行,结果保留两位小数。 Sample Input0 0 0 1
0 1 1 0
Sample Output1.00
1.41以上是题目,以下是我写的代码,在Eclise上运行可以,但题目提交上去就是错误的。import java.text.DecimalFormat;
import java.util.Scanner;public class ACM2001 {
public static void main(String[] args){
double x1,x2,y1,y2,Result,R1,R2;
Scanner scanner = new Scanner(System.in);
while(true){
x1=scanner.nextDouble();
x2=scanner.nextDouble();
y1=scanner.nextDouble();
y2=scanner.nextDouble();
R1=java.lang.StrictMath.pow(x1-x2, 2);
R2=java.lang.StrictMath.pow(y1-y2, 2);
Result=java.lang.StrictMath.sqrt((R1+R2));
DecimalFormat df=new DecimalFormat("#.00");
System.out.println(df.format(Result));
}
}}
Input输入数据有多组,每组占一行,由4个实数组成,分别表示x1,y1,x2,y2,数据之间用空格隔开。 Output对于每组输入数据,输出一行,结果保留两位小数。 Sample Input0 0 0 1
0 1 1 0
Sample Output1.00
1.41以上是题目,以下是我写的代码,在Eclise上运行可以,但题目提交上去就是错误的。import java.text.DecimalFormat;
import java.util.Scanner;public class ACM2001 {
public static void main(String[] args){
double x1,x2,y1,y2,Result,R1,R2;
Scanner scanner = new Scanner(System.in);
while(true){
x1=scanner.nextDouble();
x2=scanner.nextDouble();
y1=scanner.nextDouble();
y2=scanner.nextDouble();
R1=java.lang.StrictMath.pow(x1-x2, 2);
R2=java.lang.StrictMath.pow(y1-y2, 2);
Result=java.lang.StrictMath.sqrt((R1+R2));
DecimalFormat df=new DecimalFormat("#.00");
System.out.println(df.format(Result));
}
}}
解决方案 »
- 连接池问题
- sun.misc.BASE64Decoder 的用法
- hibernate的问题,请大家给予指教
- javax.mail通过公司得exchange服务器发邮件时,为什么不能发外部邮件,但用outlook是可以向外发的
- 关于applet的问题请教!
- 在JTextField中怎么限制只让它输入0-9的数字、(、)、- 等这些符号呢?用JFormattedTextField能实现吗?给点用它的实现代码吧!
- 使用Java如何存取DB2的BLOB、CLOB字段?急用。
- java接口问题,本人菜鸟,求教大神
- 为什么会出现这样的问题?
- 探讨一下SQLServer与JDBC的getWarnings()问题
- 一个简单的问题
- java皮肤怎么用,
你的代码用的是两点减的距离公式,只要有输入,就继续执行,没输入我没试
而且呢确实是错误的,
我测试
1
0
2
0
2.24
按你的思路来看(1,0),(2,0)两点的坐标是这样的,距离应该1才对
学过矩阵的话试试矩阵的思路,矩阵在科学计算上用的多
1 输入的顺序错了,题中的顺序是x1 y1 x2 y2,而你程序中的顺序是x1 x2 y1 y2
2 decimalFormat不对,应该是DecimalFormat df=new DecimalFormat("#0.00");
最后没搞清楚题中的意思,是要输入所有组的数据之后一下子给出结果还是输一组数据给一个结果,如果修改之后还是不对的话就试一下一起给出结果的情况吧
不然要怎么修改呢?C语言中可以直接在While中循环输入并判断是否成立,但是java不会用,难道要用数组吗?